当サイトで利用しているテーマは個別記事ページでの前後の記事へのリンクがカテゴリーに絞られない(通常これが一般的)。しかしせっかく記事をカテゴリー分けしているのだから前後の記事は同じカテゴリーの方が使い勝手が良いはずである。
やり方は簡単なのでカスタマイズした。
このカスタマイズは他のテーマファイルでも応用が可能だろうから WordPress の Template Tag を中心に説明する。
カスタマイズするテンプレートファイルは使用するテーマフォルダにある 'single.php' である。このファイルに次のような記述がある。パラメータ部分はテーマによって異なるだろう。
PHP:
-
<?php previous_post_link('%link') ?>
-
<?php next_post_link('%link') ?>
これをそれぞれ以下のようにパラメータを追加してやるだけだ。
PHP:
-
<?php previous_post_link('%link', '%title', TRUE) ?>
-
<?php next_post_link('%link', '%title', TRUE) ?>
ちなみに当サイトのテーマの実例は以下の通りである。
PHP:
-
<div class="post-nav"> <span class="previous"><?php previous_post_link('%link', '%title', TRUE) ?></span> <span class="next"><?php next_post_link('%link', '%title', TRUE) ?></span></div>
それぞれのパラメータについて簡単に説明をしておこう。
- '%link'
- リンクのフォーマット。%link は表示されるリンク文字でデフォルトは記事のタイトルになる。
リンク文字を太字にしたければ '<strong>%link</strong>' と記述する。
- '%title'
- 第一引数の %link に適用させる文字列を指定する。
%title で記事のタイトルが %link に適用される。ここに 'Next' と記述すれば記事のタイトルの代わりに <a href="...">Next</a> と出力される。
- TRUE
- 同一カテゴリーに絞るか否かのフラグ。
TRUE:同一カテゴリーに制限する
FALSE:カテゴリー制限なし