メニュー

WEBMEMOする。とあるクリエイターの個人的な備忘録。

ブログなど、投稿ページでよく表示されている「前の投稿へ」「次の投稿へ」をWordPressで表示するためのテンプレートタグについてメモ。

今回まとめていくのは、

  • previous_post_link()
  • next_post_link()

の2つです。引数の確認と、使用例をいくつかまとめていこうと思います。

目次

    引数の確認

    previous_post_link()next_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 this to the end. -

    コメントする

    CAPTCHA


    TOPへ Top