WordPress 一覧ページでのページャー(ページネーション)を作る

投稿の一覧ページなどに設置するページャー(ページネーション)の作り方を紹介します。
the_posts_pagination()」を使えば、簡単に作れます。

ページャー(ページネーション) の設置

ページャー(ページネーション) を設置したい場所に下記のコードを書くだけです。

the_posts_pagination(
	array(
		'mid_size'  => 2,// 現在のページの両端に表示するページ数
		'prev_text' => '< 前へ',
		'next_text' => '次へ >',
	)
);
ページャー(ページネーション)

このように表示されます。

レスポンシブでスマホのことを考えると、「mid_size」は「2」にするのがよいと思っています。
前後の数が1つずつだと少ない感じもするし、タップ領域のことを考えると、多すぎてもダメだし…。
途中で改行されてもいいと思うなら、それでいいんですが、改行せず一行でピシッと表示したいんですよ。
ちなみに、このサイトのテーマでは、MAXに表示された場合でも、ギリ、一行に収まるようになっています。

ページャー(ページネーション)

関数にしてみる

ボクのテーマは一覧ページが「index.php」だけなので、テンプレートファイルに直にPHPコードを書いています。
しかし、中には、「archive.php」や「category.php」など、一覧ページがたくさんある場合もあります。
それぞれのテンプレートファイルの、それぞれPHPコードを書いていくのは面倒ですし、ファイルによって内容が違ってくる恐れもあります。
「functions.php」で関数化して、そこで、変更したら全てのファイルで変更されるようにしておくと、よいかもしれません。

■functions.php
function custom_pager(){
	the_posts_pagination(
		array(
			'mid_size'  => '2',// 現在のページの両端に表示するページ数
			'prev_text' => '< 前へ',
			'next_text' => '次へ >',
		)
	);
}
■archive.phpなど
while (have_posts()):the_post();
	~~~
endwhile;
custom_pager();

「functions.php」 で関数「custom_pager()」を用意しておけば、 ページャー(ページネーション) を設置したい場所に 「custom_pager()」 を書くだけでOKです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です