LoginSignup
9

More than 3 years have passed since last update.

posted at

updated at

the_posts_pagination()を使う際のテンプレート

今までWordPressにてページネーション機能を使いたい場合には、独自にfunctionとして組み込むか、WP-Pagenaviなどといったプラグインを利用するかのどちらかでした。

しかし、WordPress側では既にページネーションを出力する関数を用意してありました。全然知りませんでしたのでメモしておきます。

the_posts_pagination()

公式にはこちらに記載があります。

参照:関数リファレンス/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()

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
9