「今見てるページの前後投稿」を示すページナビゲーションを
全記事共通ではなく同一カテゴリ内にてリンクする方法。
WordPressテンプレートタグ previous_post_link / previous_post_link で
パラメータをセットするだけなんですけど、あまり知られてないようなので
メモがてら書いておきます。
previous_post_link / next_post_link カテゴリ内リンク用例
【single.php】
<p>
<?php if( get_previous_post() ): ?>
<span class="alignleft"><?php previous_post_link('%link', '« %title', TRUE); ?></span>
<?php endif; if( get_next_post() ): ?>
<span class="alignright"><?php next_post_link('%link', '%title »', TRUE); ?></span>
<?php endif; ?>
</p>
必要に応じてクラス設定すれば自由に成形できます。
パラメータ解説
【PHP】
<?php previous_post_link('format', 'link', 'in_same_cat', 'excluded_categories'); ?>
デフォルト値が False である in_same_cat に True をセットしました。
get_the_category() とかやらなくても良きに計らってくれる憎い奴です。
WordPress3.3以降では excluded_categories にカテゴリIDを放り込むと
特定のカテゴリをループから除外できますよ。(^^
なお、この previous_post_link / next_post_link ですけど
バージョンWordPress3.8より地味な仕様変更があったようです。
Codexの英語版見てたら知らんうちに taxonomy パラメータが増ーえーてーたー。
ちなみに taxonomy のデフォルト値は ‘category’、
その流れで in_same_cat も in_same_term に呼称が変わってました。
そうです。要するに in_same_term に True が立ってると
カスタムタクソノミーでもいけるとのこと。Oh便利~。
コメントをどうぞ(´ω`*)