<!–nextpage–>で記事分割:wp_link_pagesをカスタマイズ

 

wordpressは<!--nextpage-->を記事HTMLに記入する事で
1つの記事を複数のページに分割することが出来ます。

そして分割した記事において、分割された各ページへのリンクを表示するのが
記事ページテンプレートに含まれている<?php link_pages(); ?>というテンプレートタグです。

この<?php link_pages(); ?>は“引数”を指定することで
どのような形で各ページへのリンクを表示するかを決定できます。

引数ってなんぞや、と言う場合は気にしなくていいです。
僕も分かりません。一分漬けの丸暗記でコピペしたら忘れましょう!!

初期設定(ページ:1 2 3)

<?php wp_link_pages(); ?>

これがまず分割された記事のページナビゲーション的なモノを表示させるコードです。
テンプレートのこれがある部分にナビゲーションが表示されます。
もしテンプレートにこのコードが無ければ、
記事を分割しても最初のページしか見られないことになります。
(その時は自分で書き足しましょう)

( ) 部分がいろいろな設定をする部分(引数?)です。
何も記入しないとデフォルトの設定になります。

さあ、では( )内をいじくっていきましょう。
と言っても多分訳の分からない文字の羅列で目が回るので、
超簡単!コピペするだけの実例集を公開します!!

数字でリンクする!(1 2 3 ・・・やpage1 page2 page3・・・等)

<?php wp_link_pages('before=<p>&after=</p>&next_or_number=number&pagelink=page %'); ?>

( ) 内最後の『page %』が出力されるリンクになります。『%』が数字になります。
『第1頁』等と表示したい場合は『第%頁』に書き換えて下さい。

文字でリンクする!(『前へ』 『次へ』など)

<?php wp_link_pages('before=<p>&after=</p>&next_or_number=next&previouspagelink=前へ&nextpagelink=次へ'); ?>

『前へ』『次へ』の部分は好きな文字列にする事が出来ます。

・小技・
これらの数字リンクや文字リンクの前後に文字を入れたい場合、例えば
『1 2 3』 を 『【文字列前】1 2 3 《文字列後ろ》』
『前へ次へ』を『【文字列前】前へ次へ《文字列後ろ》』
などにしたい場合は、
次のコードを ( ) 内に書き加えます。

link_before=【文字列前】&link_after=《文字列後ろ》

書き加えるときは、既存のコードとつながる部分には&をつけて下さい。例えば↓

<?php wp_link_pages('link_before=【文字列前】&link_after=《文字列後ろ》&before=<p>&after=</p>&next_or_number=number&pagelink=page %'); ?>

と言った感じです。

初期設定の ページ:1 2 3・・・
と言う形は、link_before=ページ:になっているという事でしょう。

さぁ、何となく分かってきました?
『~~=・・・』を、『&』でつなげていけばいいんですね。

基本形は<?php wp_link_pages(‘引数’); ?>。

引数は次の通りです。

※未確認ですが一部間違いの指摘をいただいております。コメント参照

  • link_before=文字列 全体の先頭に配置する文字列
  • link_after=文字列 全体の後尾に配置する文字列
  • before=文字列 リンクの直前に配置する文字列。
  • after=文字列  リンクの直後に配置する文字列。
  • next_or_number=next又はnumber リンクのタイプ。
    • numberを指定・・・数字でリンク。カスタマイズはpagelinkで。
    • nextを指定・・・文字を使用。カスタマイズはnextpagelinkとpreviouspagelinkで。
  • nextpagelink=文字列 次のページへのリンクにする文字列。
  • previouspagelink=文字列 前のページへのリンクにする文字列。
  • pagelink=文字列 ページ番号の出力形式。『%』がページ番号になる。

参考:テンプレートタグ/wp link pages – WordPress Codex 日本語版
なお、文字列には

など、タグを使用することも出来ます。

さて、お気づきの方が要るかも知れません。
ページ数リンクと、前へ/次へリンクは、同時に存在し得ない、という事に。

前へ 1 2 3 ・・・ 次へ
とする事は出来ないのでしょうか。
これはまた次回に扱う事にします。

この記事はお役に立ちましたか?


コメント

コメント(2)

  1. 通りがかりの者です on

    このページの内容、大変参考になりました。
    しかしながらどうしても気になったのでコメントします。

    link_before=文字列 全体の先頭に配置する文字列
    link_after=文字列 全体の後尾に配置する文字列
    before=文字列 リンクの直前に配置する文字列。
    after=文字列  リンクの直後に配置する文字列。

    との記述がありますが、逆だと思います。つまり、

    link_before=文字列 リンクの直前に配置する文字列
    link_after=文字列 リンクの直後に配置する文字列
    before=文字列 全体の先頭に配置する文字列
    after=文字列  全体の後尾に配置する文字列

    が、正しいのでは?
    ご確認いただいたらこのコメントは削除していただいて結構です。

    返信

    • にわタコ on

      あ、、お世話になります。
      わざわざありがとうございます。

      まだ確認していないのでそのまま掲載させていただいております。

通りがかりの者です にコメントする (キャンセル)