[wordpress] 前の記事/次の記事でページ送りの区切り文字

前に書いた記事「[wordpress] 同じカテゴリ内記事で前の記事/次の記事へのリンク」に関連してページ送りを表示させた際に前の記事と次の記事の中間に何わかりやすい区切り文字や装飾をしたい場合があります。例えばシンプルに前の記事と次の記事を「|」で区切りたいとします。

<p class="pager">
<?php previous_post_link('<span>%link</span>', '≪ 前の記事'); ?>
 |
<?php next_post_link('<span>%link</span>', '次の記事 ≫'); ?>
</p>

こうすると下記のようなページ送りが表示されます。
≪ 前の記事次の記事 

このような記述をすると前後にあたる記事がなくどちらかのリンクが表示されていないとき以下のような見せくれになります。

次の記事がない場合、
≪ 前の記事

前の記事がない場合、
次の記事 ≫

人によっては区切り文字の「|」を表示したくないかもしれません。そんなときにはget_previous_post()とget_next_post()を使って前後に記事が存在する場合にだけ区切り文字が表示されるよう分岐をかけます。

<p class="pager">
<?php previous_post_link('<span>%link</span>', '≪ 前の記事'); ?>
<?php if(get_next_post()&&get_previous_post()) : ?>
 |
<?php endif; ?>
<?php next_post_link('<span>%link</span>', '次の記事 ≫'); ?>
</p>

これにより以下のような見せくれになります。

次の記事がない場合、
≪ 前の記事

前の記事がない場合、
次の記事 

また同一カテゴリーを対象にしたい場合は引数にTUREを付けてあげます。

<p class="pager">
<?php previous_post_link('<span>%link</span>', '≪ 前の記事', TRUE); ?>
<?php if(get_next_post(TRUE)&&get_previous_post(TRUE)) : ?>
 |
<?php endif; ?>
<?php next_post_link('<span>%link</span>', '次の記事 ≫', TRUE); ?>
</p>

そんなわけでページ送りに関するちょっとしたケアな話でした。

  • 2014.05.09
  • お仕事っぽいこと