Go to top Go to bottom

WordPressループのクエリ(データベースへの問い合わせ)に関する情報、あるいはその結果は、グローバル変数$wp_queryというオブジェクトが一括で保持しています。このオブジェクトにアクセスすることで、投稿の全件数を取得することができます。

投稿の全件数を取得する

投稿の全件数は$wp_queryfound_postsというプロパティが保持しています。

<?php echo $wp_query->found_posts; ?>

たとえば、投稿一覧の先頭に記事の総数を表示するには次のように記載します。

<?php if ( have_posts() ) : ?>
  <div class="entry-count">
    <?php echo $wp_query->found_posts; ?>件の記事が見つかりました。
  </div>

  <?php while( have_posts() ) : the_post(); ?>
    <section id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
      <div class="entry-thumbnail">
        <?php the_post_thumbnail(); ?>
      </div>

      <header class="entry-header">
        <time class="entry-date"><?php echo get_the_date(); ?></time>
        <?php the_title( '<h2><a href="' . get_the_permalink() . '">', '</a></h2>' ); ?>
      </header>

      <div class="entry-content">
        <?php the_content(); ?>
      </div>
    </section>
  <?php endwhile;?>
<?php else : ?>
  <div class="error">
    <p>お探しの記事は見つかりませんでした。</p>
  </div>
<?php endif; ?>

この処理により、たとえば次のような出力を得ることができます。

記事の全件数を表示
記事の全件数を表示

現在表示しているページの投稿の件数を取得する

現在表示しているページに何件の投稿が存在するかは、$wp_querypost_countプロパティが保持しています。

<?php echo $wp_query->post_count; ?>

1ページに表示する投稿の件数は、管理画面の[設定]→[表示設定]にある、[1ページに表示する最大投稿数]で決められており、デフォルトでは10件になっています。したがって

  • 全ページ数が3ページ
  • 全投稿数が25件

という条件のとき、1ページ目と2ページ目では10件表示されますが、3ページ目は5件しか表示されません

$wp->querypost_countはこれらの数値を取得することができ、1・2ページ目で10を、3ページ目で5を返します