説明
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() |
前後の投稿を、オブジェクトで取得する |

コメント