WordPressには、前後の記事へのナビゲーションを設置するためのprevious_post_linkとnext_post_linkという関数が用意されています。
以下のようにパラメータを指定せずに記述すると、投稿順に前後への記事のナビゲーションリンクが表示されます。
<div class="navi">
<div style="float:left;"><?php previous_post_link(); ?></div>
<div style="float:right;"><?php next_post_link(); ?></div>
</div>
これを同一カテゴリーの前後の記事へのナビゲーションに変更したい場合は、パラメータを指定してあげることで解決します。
WordPressで同一カテゴリーの前後の記事へのナビゲーションを設置する方法
previous_post_linkとnext_post_linkには、以下のようなパラメータが用意されています。
$format | リンクの前後に追加する文字。初期値:’« %link’ |
$link | 表示するリンクのテキスト。初期値:%title |
$in_same_term | 現在の投稿と同じタクソノミー・タームの投稿に限定するかどうか。初期値:false |
$excluded_terms | 表示させたくない投稿のタームID。初期値:” |
$taxonomy | タクソノミー。$in_same_termがtrueの場合に有効です。初期値:’category’ |
$in_same_termをtrueにすることで、同一カテゴリーでのナビゲーションを設置することができます。
以下のように第3引数にtrueを指定してあげましょう。
<div class="navi">
<div style="float:left;"><?php previous_post_link('« %link', '%title', true); ?></div>
<div style="float:right;"><?php next_post_link('%link »', '%title', true); ?></div>
</div>
このように記述することで、前後の記事へのナビゲーションが、同一カテゴリーの記事のみ表示されるようになります。
あとがき
前後の記事へのナビゲーションを設置するケースは非常に多いと思います。
同一カテゴリーだけでなく、除外するカテゴリーなども指定できるので、結構柔軟なカスタマイズが可能ですね。