WEB制作のための情報サイト / unazuki Library

the_posts_pagination()

基本構文と使い方(引数・実行結果)

基本構文

アーカイブページ(記事一覧ページ)にてページネーションを表示します。

the_posts_pagination($args);

引数

引数必須/任意引数に指定するもの
第1引数
$args
任意パラメーターを配列で指定
利用できる主なパラメーターは下記の通り。

total 表示するページ数の上限(デフォルト:存在するページ分すべて)
mid_size 現在のページ番号の両サイドにいくつのページ番号を表示するか(デフォルト:2)
prev_text 前ページリンクのテキスト(デフォルト:前へ)
next_text 次ページリンクのテキスト(デフォルト:次へ)

初期値[](空の配列)

すべてのパラメーターはこちらを参照してください(英語)
https://developer.wordpress.org/reference/functions/the_posts_pagination/

実行結果

ページネーションを表示します。
このテンプレートタグはget_the_posts_pagination()のラッパー関数です。内部でget_the_posts_pagination()を実行しています。表示ではなく取得したい場合はget_the_posts_pagination()を利用します。

例1.ページネーションを表示する。

下記のコードをアーカイブページのテンプレートに記述すると、必要な場合にページネーションを表示します。下記の例では、前ページリンクと後ページリンクのテキストを引数で指定しています。

<?php
$args = [
	'prev_text' => '«',
	'next_text' => '»',
];
the_posts_pagination($args);
?>

学習者向け補足情報

【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。

【引数について】

  • 指定できる引数の数はテンプレートタグによって異なります。(引数なしもあり)
  • 引数ごとに必須 / 任意が決まっています。(必須は必ず指定、任意は指定しなければ初期値)
  • 引数名(例:$post)は仕様の便宜上の名前と考えてください。(この名前自体はテンプレートタグ実行に関係しません。各引数に何を指定するのかを理解していればOKです。)

参考コード

下記のコードは記事の一覧を表示し、ページネーションが必要な場合にそれを表示するコードです。WordPressループを抜けた後(while文の後)に記述します。

<?php if (have_posts()) : ?>
	<ul class="cards">
		<?php while (have_posts()): the_post(); ?>
			<li class="cards__item card">
				<a class="card__link" href="<?php the_permalink(); ?>">
					<div class="card__data">
						<div class="card__img">
							<?php if (has_post_thumbnail()) : ?>
								<?php the_post_thumbnail(); ?>
							<?php endif; ?>
						</div>
						<div class="card__date"><?php echo get_the_date('') ?></div>
						<div class="card__title"><?php the_title(); ?></div>
					</div>
				</a>
			</li>
		<?php endwhile; ?>
	</ul>
	<?php // ページング
	$args = [
		'prev_text' => '«',
		'next_text' => '»',
	];
	the_posts_pagination($args);
	?>
<?php endif; ?>

※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。

関連するテンプレートタグ

テンプレートタグ 説明
get_search_query() 検索キーワードを取得する。
get_post_type() 記事が所属する投稿タイプの名前を返す。
get_queried_object_id() 現在のクエリ(DBへの問い合わせ条件)に関するオブジェクトのIDを返す。
get_queried_object() 現在のクエリ(DBへの問い合わせ条件)に関するオブジェクトを返します。
get_the_posts_pagination() アーカイブページ(記事一覧ページ)にて利用可能なページネーションを取得します。
get_posts() 指定した条件にマッチする記事オブジェクトの配列を取得する。
get_post() 指定した投稿情報を取得する。
wp_reset_postdata() サブクエリによって上書きされたグローバルオブジェクト$postをリセットしてメインクエリに戻します。
the_post() 処理対象の記事をセットします。
have_posts() 記事が存在するかどうか調べて真偽値を返します。