WordPressの記事の最後によく表示されている「前の投稿へ」「次の投稿へ」を出力するテンプレートタグ、previous_post_link()next_post_link()について、使用方法を整理し、実際の出力パターンをいくつかメモしておきます。

目次

previous_post_link()とnext_post_link()の引数の意味を確認しておく

previous_post_link()next_post_link()で指定できる引数を確認していきましょう。

_post_linkの使用形式

previous_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy );
next_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy );

両者とも引数が5つあり、いずれも意味は同じです。

引数 説明
$format リンクの文字列の書式。リンクの前後に追加する文字を設定できます。「%link」と文字列内に記述すると次の「$link」部分に置き換えられます。
初期値: '« %link'
$link 表示するリンクのテキスト。「%title」と文字列内に記述すると投稿のタイトルが表示される。
初期値: '%title'
$in_same_term 現在の投稿と同じタクソノミー・ターム(例:カテゴリー)の投稿に限定するかどうか。'true' にすると現在のタクソノミー・タームがついた投稿だけを表示します。 初期値: false 注意: 現在の投稿に 2 つ以上のターム(例:親と子の両方)がついていた場合、どのタームがついた投稿へリンクするかは選べません。
$excluded_terms 表示させたくない投稿のターム ID(例:カテゴリー ID)。複数のタームを除外するには配列にするか、コンマで区切ってください(例:array(1, 5) または '1,5')。 初期値: ''
$taxonomy タクソノミー。これは $in_same_term が true の場合に有効です。(WordPress 3.8 で追加) 初期値: 'category'

理解すれば難しくないですが、ちょっとややこしいですね。

previous_post_link()とnext_post_link()のの実際の出力例

実際の使用例を見ていくのが早いと思うので、8パターンほど例を挙げてみます。

<?php
//デフォルトのまま表示 「« タイトル」と「タイトル »」
previous_post_link();
next_post_link();

//デフォルトと表示は同じだが、「«」 と 「»」をaタグに含める
previous_post_link('%link', '« %title');
next_post_link('%link', '%title »');

//普通に「< 前の記事へ」と「次の投稿へ >」
previous_post_link('%link', '< 前の記事へ');
next_post_link('%link', '次の記事へ >');

//表示は同じだが、aタグの中身はタイトルで、その前に「前の記事 : 」と「»次の記事 : 」をつける
previous_post_link('前の記事 : %link', '%title');
next_post_link('次の記事 : %link', '%title');

//上の例と表示は同じで全てaタグの中に表示
previous_post_link('%link', '前の記事 : %title');
next_post_link('%link', '次の記事 : %title');

//同じカテゴリで「< タイトル」「タイトル >」
previous_post_link('%link', '< %title', true);
next_post_link('%link', '%title >', true);

//同じタグで「< タイトル」「タイトル >」
previous_post_link('%link', '< %title', true, '', 'post_tag');
next_post_link('%link', '%title >', true, '', 'post_tag');

//同じタクソノミーのみで、ID10の記事を除き、「< タイトル」「タイトル >」
previous_post_link('%link', '< %title', true, 10, 'タクソノミー名');
next_post_link('%link', '%title >', true, 10, 'タクソノミー名');
?>

以上です。

コピペで使用できると思うので、好きな形式のものを使ってみてください。

- Thank you for reading. -

あなたの1クリックが励みになります\( ̄ー ̄)/

コメント

コメントする

CAPTCHA


TOPへ Top