今までWordPressにてページネーション機能を使いたい場合には、独自にfunctionとして組み込むか、WP-Pagenaviなどといったプラグインを利用するかのどちらかでした。
しかし、WordPress側では既にページネーションを出力する関数を用意してありました。全然知りませんでしたのでメモしておきます。
#the_posts_pagination()
公式にはこちらに記載があります。
<?php the_posts_pagination(
array(
'base' => '%_%', // ちょっと良く分からない
'format' => '?page=%#%', // ページネーションのパーマリンク構造
'total' => '1', // 総ページ数
'current' => '0', // 現在のページ番号
'show_all' => 'false', // 全てのページを表示する。falseの場合は以下end_size, mid_sizeで指定
'end_size' => '1', // ページ番号リストの両端に表示するページ数
'mid_size' => '1', // 現在のページの両端に表示するページ数
'prev_next' => true, // リスト内に「前へ」「後へ」のリンクを表示するかどうか。表示する場合はprev_text, next_textで指定
'prev_text' => __( 'previous page', 'textdmain' ), // 前のページへ送るリンクテキスト
'next_text' => __( 'next page', 'textdmain' ), // 後のページへ送るリンクテキスト
'type' => 'plain', // 戻り値の指定 plain or list
'add_args' => false, // 追加のクエリ引数の配列
'add_fragment' => false, // リンクに付け加えるテキスト
'before_page_number' => '', // 各ページ番号の前に入れるテキスト
'after_page_number' => '', // 各ページ番号の後に入れるテキスト
'screen_reader_text' => __( 'Post Navigation', 'textdmain' ), // スクリーンリーダー用のテキスト
)
); ?>
引数に色々な情報を渡してあげることもできます。ちなみに引数はpagenate_links関数と同じです。
用途や好みによってプラグインと使い分けていくのも良いですね。
参照:WordPressにページネーションを出力できるthe_posts_pagination()とget_the_posts_pagination()