先日、富田林の方で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 next_post_link(“”,””,true); ?>というように、『””』として空っぽの値を渡して上げればOKです。①、②に空っぽの値を渡して③の場所に引数を設定できるようにしましょう!最後に設定したい引数以降の引数は省略可能です。なので、④は省略可能です。
①、②に何も設定しないとエラー
<?php next_post_link(,,true); ?> は駄目です。エラーになります。
あとnext_post_linkで『<?php next_post_link(“”,””,true); ?>』と記述しても実は何も出力されないので、実際に使う場合は以下のコードにしてください。①、②にデフォルトの引数を設定しました。
[/php]
コメント
コメント一覧 (1件)
おお。勉強になります! いつもありがとうございます!
ところで、現在の記事が複数のカテゴリに登録されている場合はどういう挙動になるのでしょうか? ご存知なら、で、結構ですw