【WordPress】現在のページ番号・全ページ数を取得|アーカイブ、検索ページなど

WordPressでサイト制作をしていると、アーカイブページ(記事一覧)や検索結果ページなど、複数にわたるページで、現在のページ番号や全ページ数を表示したい場合があるかもしれません。

今回は、そのような場合に使用できるソースコードの例となります。

現在のページ番号・全ページ数を取得する例|アーカイブ、検索ページ

以下はソースコードの例となり、アーカイブページや検索結果ページなどで、現在のページ番号と、全ページ数を表示させたい箇所に記述します。

<?php 
// 現在のページ番号を取得
$current_pgae = get_query_var( 'paged' ); 
$current_pgae = $current_pgae == 0 ? '1' : $current_pgae;
echo '<p>現在は' . $current_pgae . 'ページ目です</p>';

// 全ページ数を取得
$max_pages = $wp_query->max_num_pages ;
echo '<p>全ページは' .$max_pages . 'ページです</p>';
?>

get_query_varについて

get_query_var()は、現在のWP_Queryのクエリ変数を取得できる関数となり、引数にはクエリ変数に対応する変数キーを指定します。

今回の例では、アーカイブページや検索結果ページのページ番号を取得できる変数キーpagedを引数に指定し、ページ番号を取得しています。

また、アーカイブページや検索結果ページなどの1ページ目では、変数キーpagedのクエリ変数が0となるため、その場合には条件分岐を使い、ページ数を出力する変数に1を格納しています。

なお、上記例の条件分岐は、?(はてな)と:(コロン)を使い条件演算子で記述しています。条件演算子については以下のリンク先を参考にしてみてください。

$wp_queryについて

$wp_queryオブジェクトは、現在のWP_Queryがセットされているグローバル変数(インスタンス)となります。

今回の例では、オブジェクトのプロパティmax_num_pagesを利用し、現在のクエリの全ページ数を取得しています。

参考サイトなど

コメント投稿またはTwitterで返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。
Twitterで返信する場合はこちらから。

また、コメントは承認制となります。