標準のテーマのTwentyTenでは、各投稿ページ内に前後の投稿へ移動できるナビゲーションが付いています。ただし標準では順序がカテゴリーは関係なく全ての投稿を日付順に並べた状態になっています。
このようなルールはカテゴリーを明示的に使っているサイトでは、ちょっと違和感があります。そこで、同一カテゴリー内で前後に移動できるようにリンクを変更するようにしました。
例によって子テーマのfunctions.php内で何とかしたかったんですが、面倒になってきたのでテーマのファイルをそのまま書き換えてしまいます。
loop-single.phpを自作の子テーマにコピーし、previous_post_link関数とnext_post_link関数が使われている部分をこのように書き換えます。
<?php previous_post_link( '%link', '<span class="meta-nav">' .
_x( '←', 'Previous post link', 'twentyten' ) .
'</span> %title', true ); ?>
<?php next_post_link( '%link', '%title <span class="meta-nav">' .
_x( '→', 'Next post link', 'twentyten' ) .
'</span>', true ); ?>
要するに、第三引数にtrueを加えるだけです。
これらの関数の第三引数の説明は以下のようになっています。
bool $in_same_cat: Optional. Whether link should be in same category.
そのうち、functions.phpの中だけで完結できるようにしたいな…