質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Q&A

2回答

9494閲覧

Wordpressで異なるページに同じ投稿記事が重複して現れる

M.Y.

総合スコア29

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

0グッド

0クリップ

投稿2018/12/16 06:12

編集2019/02/05 13:17

買った本・読んだ本のリストをCSVファイルからWordpressにインポートしました。全856件、表示設定で「1ページに表示する最大投稿数」を25件にしましたので、35ページ分です。いろいろカスタマイズをやりかけです。
しかし気づいたのですが、2ページ目、3ページ目以降に進むと前のページで見た登録アイテムが二度三度と表示されます。逆に古い方から閲覧して35ページ目、34ページ目、33ページ目、と見進めたところ、同様に重出します。35ページ目に排列された6件のうち4件が34ページ目にも33ページ目にも現れるのです。古い順で見た方が重複がひどく順序が混乱した感じです。但し、同じページ内で重複することはない様子です。
トップ・ページで?order=ASCで昇順にソートしてもみましたが、降順で最終ページ最下段から閲覧した時と表示順序がことなり、且つ、その時は現れなかった記事が出てきます。重複する投稿アイテムは降順と昇順とで一致しませんので、特定の投稿に問題があるのではないみたいです。
これと別に固定ページに記事アーカイブをプラグイン「List Category Posts」で作って、1ページあたり50件でリスト表示させてありますが、ページを進めるとやはり同じタイトルが別のページにも登場します。
元のCSVファイルでは重複は無かったので、これはワードプレスにおける表示順番の問題かと思ったものの、何が原因でどこを直せばよいのやら、皆目判りません。メインループと呼ばれるものが何か関係するのかとも思ったけれど、始めたばかりの初心者で手にあまります。
ウェブを「Wordpress ページ 投稿 重複」等で検索掛けても類似の現象は見つからず、ここに質問する次第です。
Wordpressはバージョン 5.0.1–ja、テーマはtwentysixteen(の子テーマ)、サーバーはXreaです。
御教示戴ければ幸甚です。

 追記
ランダム表示の設定はしてません。デフォルトの投稿日降順のままです。
Cf. WP-PageNaviで、ページングはできるが同じ記事が重複して表示される

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/12/16 09:42

愚問かもしれませんがCSVファイルのデータも865件ですか?また、その中に重複は無いですか?
M.Y.

2018/12/16 09:45

元のCSVファイルでは重複は無かったこと、既に申しました。CSVでの件数(行数)も投稿一覧の総数と同じで856です(先頭見出し行除く)。
guest

回答2

0

私も同じ現象で悩んでいました。
私の場合は、インポートによる投稿データの投稿日付がまったく同じ(年月日時分秒まで)になっていて、ページ処理で重複していました。
対応策として、重複した時間の投稿時間を1分ずつ投稿時間をずらしたところ、現象が解消されました。
Wordpressは順序を取得する際に、投稿時間でソートするようなので、まったく同じ時間の投稿があると順序が確約できないようです。
参考になれば幸いです。

投稿2019/02/05 13:09

ek9yama

総合スコア40

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

M.Y.

2019/02/06 08:52 編集

有り難うございます。  確かに、インポートしたCSVデータにはpost_dateが同日同刻である記事が幾つもあります。これが原因だったとは。  しかし「順序が確約できない」で記事表示が前後するのならまだしも、重複して出て来たりどのページにも出て来なかったりするのは、何としてもいただけません。管理画面の「投稿一覧」ではそんな不具合は起きないのですから、メイン・ループのページ表示でもちゃんとして欲しいものです。WordPressにヴァージョン・アップでの修正要望を出すにはどうすればいいのか……?  実際、インポートするデータが何百何千行もあって投稿日時が同じ行の塊りがあちこちに多数ある場合には、「重複した時間の投稿時間を1分ずつ投稿時間をずら」す作業はかなり面倒な手間になり、対策としてあまり現実的ではないわけです。  URLのクエリーを「?orderby=ID」にしてID順表示にすると事実上は投稿日附順と同じ並び順ながら重複現象は起きないみたいなので、当面はこれでしのげます。ただ、post_id順をデフォルトに設定したところで、ソート機能を装備して選択可能にしてあるため、日附順に切替すると乱れが出るのは困ります。  Excelの「ユーザー設定の並べ替え」機能では「最優先されるキー」「次に優先されるキー」……と指定できるので、同様にワードプレスでもorderbyを複数指定して順序に優先順位をつければいいのではと思って、日附順でソートした場合はID順を次に優先する仕組みにできないかどうか、URLパラメーターを弄りつつ試行錯誤中です。 Cf. https://geek-memo.com/orderby/ https://chaika.hatenablog.com/entry/2015/12/25/154244  ソート用フォーム選択肢の<option value="<?php echo add_query_arg( array('order' => 'ASC', 'orderby' => 'date'));?>">で「'orderby' => 'date'」の部分を「'orderby' => array( 'date' => 'ASC', ‘ID' => 'ASC' )」にしてみても、エラーで真っ白になり、うまくゆきません。
guest

0

  1. 管理画面から記事に重複が無いかを確認してみてください。
  2. 親テーマに切り替えて確認してみてください。
  3. そこにも重複が無ければ、プラグインを全て停止して確認してみてください。

投稿2018/12/16 07:18

kei344

総合スコア69583

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

M.Y.

2018/12/16 07:29

1. 「投稿一覧」では重複は見られませんでした。 2. 親テーマtwentysixteenを有効化しても重複が出現しました。 3. プラグインを一括操作で全て停止にしましたが、やはり35ページ目と34ページ目に同じ投稿が重出したままです。
kei344

2018/12/16 07:49

スーパーリロードではどうでしょう。 【Chromeブラウザでスーパーリロードする方法 #Pistatium】 http://kimihiro-n.appspot.com/show/86002 あとは、構成するシステムファイル群をFTPで最新のものに上書きするくらいしか思いつきません。
M.Y.

2018/12/16 08:13

他のテーマ「Book Rev Lite」を試しても重複に変りなかったので、テーマの所為ではないはず。  表示確認用のブラウザにはもっぱらFirefox64を利用し、Google Chromeは動作が重たいので普段全然使ってないのですが、Wordpressで作成中のサイトをChromeで初表示させてみました。やはり同じページで同じ重複が出ました。キャッシュの問題ではないわけです。  その「構成するシステムファイル群をFTPで最新のものに上書き」とは、どうやるのですか? どのファイルをアップロードするのか、御教示いただきたく存じます。
kei344

2018/12/16 08:17

WordPressの公式サイトからファイル一式をダウンロードして、それを使って全て上書きです。
M.Y.

2018/12/16 08:22

管理画面>ダッシュボード>更新 から「再インストール」をクリックするのとはまた別なのですか?
kei344

2018/12/16 08:25

手順は違いますね、FTPを使うので。「再インストール」と全く同じ効果かどうかは検証していないのでわかりません。
M.Y.

2018/12/16 20:20

管理画面からの更新→再インストールでは変化無し。  公式サイトでダウンロードしてから自サイトへFTPアップロードし(FFFTPでは大変なのでFileZillaを使ったが手間取った)、それで再インストールも試したものの、依然としてダブった表示箇所はそのまま。下記ページの「データベースをそのまま使用する場合」です。  https://web-diy.jp/2017/01/170117_01/  「データベースを変更(WordPressをリセット)する場合」でも駄目。エクスポートしておいたxmlファイルをインポートしたら、全く同じ症状が再発しました。デフォルトの"Hello world!"と合せて全投稿が857件、表示設定の「1ページに表示する最大投稿数」は初期状態の10ですから全86ページですが、既に86ページに出た7件中5件が85ページで再出、以下84・83ページにも同じ5件が下から出現、82・81ページには4件、80ページには2件、79ページでやっと消えますが、その間に84ページや83ページで新出の投稿がページを進めると重複して現れるのですから、もう何が何やら。規則性があるのかどうか。  問題解決せず。  別に曰く、「これで不具合が直らなかったら、データベースの内容や、設定ファイル・テンプレート・プラグインが原因ということになりますので、問題の切り分けにも使えるかもしれません」とか。でもテーマ(テンプレート含む)やプラグインが原因ではなかったし……。  http://news.7zz.jp/php/3379.html
kei344

2018/12/17 02:03

パーマリンクを初期値に戻すとどうなりますか?
M.Y.

2018/12/17 05:56

管理画面>設定>パーマリンク設定では下記の通りです。 カスタム構造  /%year%/%monthnum%/%day%/%post_id%  これを「基本」に戻しました。  1ページあたり25件表示で全35ページ、35ページ目の6件中4件が34ページ目に重出しました。  事情は改善されません。  そもそもパーマリンク設定はなぜ怪しまれるので? 先の「データベースを変更(WordPressをリセット)する場合」でインポートし直した方ではパーマリンク設定は「日付と投稿名」が選択されてあり、それでやはり重複問題が発生したのですから、原因とは無関係ではないかと。
kei344

2018/12/17 06:02

WordPressはパーマリンクを元にページの特定をするため、ページングにも影響が出る可能性を考えました。 残念ですが、遠隔で問題を切り分けるのはこれくらいが限界です。お役に立てずすみません。
M.Y.

2018/12/17 06:32

ふとひらめいて(?)、1ページに表示する最大投稿数を1件にしてみました。これで全856ページになります。で、結果はよりひどくなりました。  最終856ページから遡ってゆくと、854ページに現われた投稿記事(post_idは60)が延々と823ページまで表示され続けます。そして今度は822ページに表示された投稿アイテム(post_idは59)は807ページまで再掲されます。1ページあたりの表示件数が少ないほどメインループでの排列に異常が起きやすい、とか?   ちなみにこれらは最も古く同日に登録された62件に含まれるものです(日付は2009-10-29)。  それにしても、最終ページから遡った場合、id順(降順であれ昇順であれ)に表示されないのも不審なことです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問