WordPressで前後記事が存在する場合のみリンク表示
備忘録シングルページ以外ではprevious_post_linkとnext_post_linkで、空のdivタグが表示されてしまうのが嫌だ。前後の記事を表示するprevious_post_linkとnext_post_linkは、それ自体が出力用の関数なので
<?php if ((previous_post_link(‘« %link’)) || (next_post_link(‘%link »’)) ) : ?>
<div class=”navigation”>
<div class=”alignleft”><?php previous_post_link(‘« %link’) ?></div>
<div class=”alignright”><?php next_post_link(‘%link »’) ?></div>
</div><!– navigation –>
<?php endif; ?>
とすると正しく動作しません。
前後の記事の存在を判定する関数があったのでそちらを使用。
get_next_post() , get_previous_post()
<?php if ((get_next_post()) || (get_previous_post() ) ) : ?>
<div class=”navigation”>
<div class=”alignleft”><?php previous_post_link(‘« %link’) ?></div>
<div class=”alignright”><?php next_post_link(‘%link »’) ?></div>
</div><!– navigation –>
<?php endif; ?>
おまけ previous_post_linkの引数
第1引数 → $format : 表示形式全体の文字列
第2引数 → $link : リンク部分の文字列 デフォルトでは「%title(タイトル)」
第3引数 → $in_same_cat : 同じカテゴリーの記事にリンクするかしないか boolean 複数のカテゴリーに登録されている記事だと若いカテゴリー優先?
第4引数 → $excluded_categories : リンクから除外するカテゴリー指定 (idにて)
