おなじカテゴリーに所属してる記事のみページ遷移をしたい場合の設定

先日、富田林の方でWordPress初心者向け講座をしてきました。
富田林では現在WordPressのテーマ『responsive』をオリジナルにカスタマイズをしてWordPressを勉強しています。

その時に出た質問で、投稿ページで表示される『前の記事へ』、『次の記事へ』のリンク先を同じカテゴリーに所属しているもののみの設定に出来ないかと質問がありました。

管理画面から編集は出来ない

管理画面から設定が出来たらいいんですが、残念ながら管理画面から設定ができずテンプレートファイルを編集しないといけません。

single.phpを編集

編集するファイルは利用するテーマにもよるのですが 、だいたいはsingle.phpテンプレートファイルを編集すればいいはずです。

single.phpテンプレートの中で『next_post_link』または『previous_post_link』の文字列を探してください。『next_post_link』、『previous_post_link』に渡せる引数は4つです。

『next_post_link』を例にとりますと、next_post_link(①,②,③,④)というように4つの値を渡すことが出来ます。

引数の順番には意味がある

今回は③のところに、『true』という文字を入れれば同じカテゴリーの記事のみ連動することができます。
①〜④の順番には意味があります。①のところにtrueを入れても駄目です。
ちゃ〜んと③のところにtrueと入れてくださいね。

例えば『next_post_link』を探した時に下のようなコードだった(引数が設定されていない)場合
※本来はありえない設定ですが・・・

[php] <?php next_post_link(); ?>
[/php]

<?php next_post_link(); ?>を<?php next_post_link(“”,””,true); ?>というように、『””』として空っぽの値を渡して上げればOKです。①、②に空っぽの値を渡して③の場所に引数を設定できるようにしましょう!最後に設定したい引数以降の引数は省略可能です。なので、④は省略可能です。

①、②に何も設定しないとエラー

<?php next_post_link(,,true); ?> は駄目です。エラーになります。
あとnext_post_linkで『<?php next_post_link(“”,””,true); ?>』と記述しても実は何も出力されないので、実際に使う場合は以下のコードにしてください。①、②にデフォルトの引数を設定しました。

[php] <?php next_post_link("%link &raquo;","%title",true); ?>
[/php]
よかったらシェアしてね!
URLをコピーする
URLをコピーしました!

「エンジニアのためのWordPress開発入門」を執筆しました!

WordPressを使った開発案件は依然多く、それに携わるWebエンジニアも多数存在します。ただし、モダンな開発手法に慣れたWebエンジニアがWordPressに初めて触れたとき、その独特のアーキテクチャやシステムの構成に戸惑いを感じることがあるかもしれません。だが、WordPressは、それらを補ったうえにさらに強力なメリットを持ち合わせています。本書は、PHPプログラマがWordPressで開発する際に必要な基礎知識から、現場で役立つ具体的なカスタマイズ手法や開発のポイントについて詳しく解説しています。

この記事を書いた人

NPO法人のHP制作(WordPress)やkintoneを使った業務システムの構築をしています。サイボウズ株式会社公認kintoneエバンジェリスト/CoderDojo西宮と梅田のチャンピオン/認定NPO法人宝塚NPOセンター理事/NPO法人SEIN理事/

コメント

コメント一覧 (1件)

  • おお。勉強になります! いつもありがとうございます!
    ところで、現在の記事が複数のカテゴリに登録されている場合はどういう挙動になるのでしょうか? ご存知なら、で、結構ですw

コメントする

目次
閉じる