【wordpress】wp_link_pages() — 長い投稿記事を記事をページ分割しよう!

目次

今回はwordpressに関する情報です。

投稿する記事を何ページにわたって表示するかを
決めることがでるのでその方法を紹介します。

投稿された記事に<!--nextpage-->と入力すると記事が分割されます。
そして分割されたページのリンクを出力するためには、
テンプレートタグwp_link_pages()を使います。

今回はその方法についてご紹介していきます。

1.投稿を任意のタイミングで分割する

記事のテキストエディタを開きます。

そして<!--nextpage-->タグを分割したいところに挿入します。

すると、ビジュアルエディタではこのように----PAGE BREAK----と表示されます。

2.分割したページへのリンクを作る

記事内にあるwordpressループの中で<?php wp_link_pages(); ?>を入力します。

https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_link_pages

すると自動的に次のページに遷移するためのページ番号が出力されます。
クリックすると分割した次のページに飛ぶことができ
分割した数だけ自動的に数字が出ます。

2.5 ページネーションはカスタマイズも可能

このwp_link_pagesはカスタマイズも可能です。

キー
'before' リンクの前に表示する文字列。
'after' リンクの後に表示する文字列。
'link_before' beforeより前に出力する文字列。デフォルトは空文字列
'link_after' afterより後に出力する文字列。デフォルトは空文字列
'next_or_number' 「前のページ」「次のページ」と表示するかページ番号で表示するかを選択する
'separator' ページ番号を何で区切るか。
'nextpagelink' 「次のページ」のリンクに使用する文字列。next_or_numberで'next'を設定している場合に有効
'previouspagelink' 「前のページ」のリンクに使用する文字列。next_or_numberで'next'を設定している場合に有効
'pagelink' ページ番号に使用するフォーマット

ページ分割のリンクに「数字」と「次ページ・前ページ」の両方を追加する

next_link_pagesのパラメータには、リンクの表示方法を
「前のページ」「次のページ」と表示するかページ番号で表示するかを選択する
'next_or_number'というパラメーターが存在します。

'next' か 'number' を設定することができ

例えば'next'なら

'number'なら

と表示されるようなイメージです。
ですが、少し手を加えるtp

のように両方表示することができるのでこちらを紹介していきます。

wp_link_pages()に 'next_and_number'というオプションを追加する。

1 functions.phpファイルに以下のフィルターを追加します。

add_filter()は関数をフックさせることができます。
wp_link_pages_argsが実行されるとwp_link_pages_args_prevnext_addも発火するようにします。

2 続けて、以下の文章を追加します。

ここでnext_and_numberという値を追加できるようにしています。
この関数をwp_page_linksにフックさせています。

3 配列に 'next_or_number' => 'next_and_number', こちらを追加します。

これで完成です。

全部で3ステップなので思ったより簡単に追加できると思います。

参考:
https://wordpress.stackexchange.com/questions/37256/paged-posts-how-to-use-numbers-and-next-previous-links

http://www.velvetblues.com/web-development-blog/wordpress-number-next-previous-links-wp_link_pages/

ワタシブログカイテルネ
https://okinawanpizza.hatenablog.com/