previous_post_link() の使い方|説明・引数・注意点

説明

previous_post_link() は、前の投稿(公開日が1つ古い投稿)へのリンクを出力する関数です。個別の投稿ページで使います。

基本構文

previous_post_link( string $format = '« %link', string $link = '%title', bool $in_same_term = false, int[]|string $excluded_terms = '', string $taxonomy = 'category' );

引数

  • $format:リンク全体の書式。%link の部分が、リンクに置き換わる
  • $link:リンクの文字列。%title は、投稿のタイトルに置き換わる
  • $in_same_term:true にすると、同じタームの投稿だけが対象
  • $excluded_terms:除外するターム
  • $taxonomy:$in_same_term で使うタクソノミー(既定は category)

戻り値

戻り値はありません。リンクのHTMLを出力します。前の投稿がないときは、何も出力しません。

使い方(サンプル)

previous_post_link( '« %link', '%title', true );

注意点

  • 個別の投稿ページで使います。
  • 前の投稿がないときは、$format も含めて、何も出力されません。

実務での使いどころ

  • ブログ記事の下に、「前の記事」へのリンクを出すとき。
  • 同じカテゴリーの中で、前の記事へ移動できるようにするとき。

よくあるミスと対処

  • リンクの枠のHTMLを、$format の外に書いている。前の投稿がないとき、空の枠が残る。枠は $format に含める。
  • アーカイブページで使っている。個別の投稿ページで使う。
  • カスタムタクソノミーで絞りたいのに、$taxonomy を指定していない。

NG例

echo '<div class="prev">';
previous_post_link();
echo '</div>'; // 前の投稿がないと、空の div が残る

OK例

previous_post_link( '<div class="prev">%link</div>', '前の記事:%title' );

使い分け早見表

関数 出力・取得するもの
previous_post_link() 前の投稿へのリンクのHTMLを出力する
next_post_link() 次の投稿へのリンクのHTMLを出力する
get_adjacent_post() 前後の投稿を、オブジェクトで取得する

関連項目

next_post_link()、get_adjacent_post()、get_permalink()

公式リファレンス:previous_post_link() | WordPress Developer Resources

コメント

タイトルとURLをコピーしました