4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-07-10

今まで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()

4
8
0

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
  3. You can use dark theme
What you can do with signing up
4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?