WordPress

ワードプレス記事下の「次のページ」「前のページ」に違うカテゴリーの記事が表示されない

今回は、ワードプレスの投稿下のページネート部分「前のページ」「次のページ」において、違うカテゴリーの記事が表示されないことがあるようでしたので、その解決方法をご紹介します。

この記事を読んでできるようになること

この記事を読むと、投稿テンプレート(single.php)のページネート部分の制御ができるようになります。そのため

  • 「前のページ」「次のページ」に表示する記事の条件分岐ができます
  • 逆に条件を解除することが出来ます
  • 前のページ、次のページのURL取得方法がわかります。

などなどです。該当する場合は読み進めていってくださいね。

違うカテゴリーが表示されない原因

まず、違うカテゴリーが表示されない原因ですが、大体以下の二つに集約されます。

  1. テーマの編集の[single.php]のget_previous_post(),get_next_post()の引数がおかしい
  2. テーマの編集の[single.php]previous_post_link(),next_post_link()の引数がおかしい

「引数がおかしい」とはどういうことかというと[get_previous_post()]の()内に入っている文字がおかしいということです。

この二つの関数は、「カテゴリーが一致するかどうか」を指定する部分があるのですが、そこの表記が間違っていたりずれていたりします。

ちなみに、カスタム投稿タイプなどを利用している中級者の方は、[single.php]の部分を自分の状況に当てはめて考えてください。

get_previous_post(),get_next_post()の引数について

まず、get_previous_postやget_next_postですが、これらは

「次の記事があるかどうか」「前の記事があるかどうか」をtrue,falseで判定してくれる関数

です。そのため、if文と一緒に使われることが多いです。例えば

といった具合です。

ちなみに、このget_previous_postやget_next_postはページネート部分の直前に使うことが多いです。「”もし前の記事がある”なら、前の記事へのリンクを表示する」といった感じですね。

カテゴリーを絞る場合と絞らない場合で、()の中に入れる文字が異なります。

違うカテゴリーも表示する場合(空欄の場合もこっち)

この上のどちらかにした場合、違うカテゴリーでも表示できます。()内が空欄か、「false」となっている場合です。

同じカテゴリーのみに絞る場合

()内をtrueとすると、カテゴリーの絞り込みを行います。(現在表示している投稿と同じカテゴリーを取得)

previous_post_link(),next_post_link()の引数について

次は、実際にリンクを表示することになるprevious_post_link(),next_post_link()といった関数です。

こちらにもカテゴリーの絞り込みの引数が存在するので、注意が必要です。(ちなみに、僕はここを特定するのに1時間程度要しました。)

例えば、上記のような記述になっていると思います。この場合

  • [%link]→リンク文字列のフォーマット。%link部分に二番目の引数が置き換えられる(あまり気にしなくていい)
  • [%title]→タイトルの表示方法のこと。リンク文字列の%link部分に置き換えられる
  • [TRUE]→カテゴリーの絞り込み。同じカテゴリーのみの場合は「TRUE or true」。別カテゴリーを含む場合は「FALSE or false」(大文字小文字はどちらでもいい)

となっています。そのため、ここがTRUEになっていると違うカテゴリーの場合は表示されません。

違うカテゴリーを表示したい

SnapCrab NoName 2018 11 16 1 22 15 No 00 - ワードプレス記事下の「次のページ」「前のページ」に違うカテゴリーの記事が表示されない

今回、上記のようなテンプレートに遭遇しました。特定するまで大変だった理由は

[get_previous_post()]は引数なしでデフォルトで別カテゴリーを認識してtrue判定

→previous_post_linkは同じカテゴリーの場合のみ表示という引数が入っている

という状態のため、僕もどこで分岐されているのかがわからずに苦戦しました。今となってはすぐわかりますが。

「2つの関数で同じような引数指定させないでよ!」と思いました。「get_previous_post()」に強制的に合わせてよって。

さらには、「テーマファイルの作成者、もっと頑張れ!」とも思いました。でもまあ、こういうこともありますよね。仕方ないです。

coala - ワードプレス記事下の「次のページ」「前のページ」に違うカテゴリーの記事が表示されない

今回は、「ワードプレス記事下の「次のページ」「前のページ」に違うカテゴリーの記事が表示されない」について解説しました。参考になれば幸いです。

ABOUT ME
Ruana
Ruana
Ruana(合同会社ルアナ)です。Ruana占いというWebメディアの運営とWordPress専門の技術サポートをしています。WordPressサポート歴が5年という経験を活かし、多くの方のWordPressの修正・改造のお役に立てれば幸いです。