WordPressで同一カテゴリ内の前後ナビゲーション

WordPressデフォルトテーマでは、前後のナビゲーション機能が用意されています。

<div class="navigation">
<div class="alignleft"><?php previous_post_link('&laquo; %link') ?></div>
<div class="alignright"><?php next_post_link('%link &raquo;') ?></div>
</div>

これって、全ポストを通じた日付順の前後が表示されるんですが、単純な日記コンテンツならいざ知らず、普通この手のナビゲーションって日付移動じゃなくて、同一カテゴリ内の移動が実用的ですよね。

これを実現するプラグインを探してみたんですが、WordPress関数で用意されてました。

<div class="alignleft">
<?php previous_post_link('&laquo; %link', '%title', TRUE, ''); ?>
</div>
<div class="alignright">
<?php next_post_link('%link &raquo;', '%title', TRUE, ''); ?>
</div>

第1引数はリンクのフォーマット、第2引数はアンカーリンクの表示テキスト、そして第3引数でカテゴリ内か全体かの指定が可能でした。
上記の例では、<<付きのリンクで、アンカーは記事タイトル(これはデフォルトなので空白でも可)、同一カテゴリ内のリンク、となります。

  • TRUE … カテゴリ内の移動
  • FALSE … 全体の移動
他引数等の詳細についてはこちらをどうぞ。
テンプレートタグ/previous post link – WordPress Codex 日本語版

広告

About: dacelo


11 thoughts on “WordPressで同一カテゴリ内の前後ナビゲーション”

  1. お世話になります。いつも参考になります。ありがとうございます。少し質問をさせてください。同一カテゴリ内の前後ナビゲーションですが、固定ページの特定のテンプレート内では難しいでしょうか?固定ページで2つのテンプレートを使用しています。その1つのテンプレート内で前後ナビゲーションを出したいんです。

  2. おっしゃるとおり、カテゴリー別のナビゲーションが作れず苦労してました。引数で操作出来るとは、気がつきませんでした。ありがとうございました。

  3. 初歩的な質問で大変恐れ入りますが、
    この関数はどこから変更出来ますでしょうか?

    外観>テーマの編集
    かと思ったのですが、該当箇所が見つからず。。

    なお、テーマは sela を使用しています。
    よろしくお願いいたします

Leave a Reply

Your email address will not be published. Required fields are marked *