検索結果ページのタイトルに取得件数とページ数を表示させる

0
1312
views

検索結果ページのタイトルには通常、検索キーワードのみが表示されます。これに取得件数とページ数を追加して表示させるようにカスタマイズしてみます。

検索結果:表示例

検索結果のデータの件数とページ数を取得するには WP_Query クラスのプロパティ $found_posts と $max_num_pages を使います。

$found_posts

$found_posts は WP_Query オブジェクトを生成した時に取得できた投稿データ、つまりこの場合では検索結果のデータの件数を格納している変数です。

検索クエリで取得したデータ件数を表示するには、グローバル変数であり、WP_Query インスタンスである $wp_query のプロパティ $found_posts の値を参照すればいいわけです。

<?php $wp_query->found_posts; ?>

$max_num_pages

同じように、検索クエリで取得したデータの総ページ数を取得するには、$wp_query のプロパティ $max_num_pages の値を参照します。

<?php $wp_query->max_num_pages; ?>

該当の記述

テーマの search.php 内の記述:

<h1 class="page-title">
    <?php printf( esc_html__( 'Search Results for: %s', 'テーマ名' ), '<span>' . get_search_query() . '</span>' ); ?>
</h1>

上記の内容を以下の内容に変更:

<h1 class="page-title">
    <?php 
        printf( esc_html__( 'Search Results for: %s', 'pounda' ), get_search_query() ); 
        echo '(', $wp_query->found_posts, ' 件 / ', $wp_query->max_num_pages, ' ページ)';
    ?>
</h1>

カスタマイズ例