2009/12/09 水曜日 07:05:15

WordPressで前後記事が存在する場合のみリンク表示

Filed under: 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にて)

簿記3級通信講座 HTML convert time: 0.249 sec.