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

説明

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

基本構文

next_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を出力します。次の投稿がないときは、何も出力しません。

使い方(サンプル)

next_post_link( '%link »', '%title', true );

注意点

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

実務での使いどころ

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

よくあるミスと対処

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

NG例

echo '<div class="next">';
next_post_link();
echo '</div>'; // 次の投稿がないと、空の div が残る

OK例

next_post_link( '<div class="next">%link</div>', '次の記事:%title' );

使い分け早見表

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

関連項目

previous_post_link()、get_adjacent_post()、get_permalink()

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

コメント

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