WordPress

WP_Queryで投稿件数を取得!記事一覧やアーカイブページを思い通りにカスタマイズ

はじめに

WordPressで記事一覧やアーカイブページを作成する際、表示する投稿の件数を取得したいことがあります。しかし、単純に件数を表示するだけでなく、条件に応じて件数を変化させたり、特定の投稿のみを表示したりしたい場合もありますよね。

そんな時、強力な武器となるのがWP_Queryクラスです。

本記事では、WP_Queryを使って投稿件数を取得する方法を詳しく解説します。記事一覧やアーカイブページを思い通りにカスタマイズしたいWordPressユーザー必見の内容です。

1. WP_Queryとは?

WP_Queryは、WordPressの投稿、ページ、カスタム投稿タイプなどのデータを柔軟に取得するためのクラスです。記事一覧やアーカイブページの生成をはじめ、様々な場面で活用されます。

2. WP_Queryで投稿件数を取得する方法

WP_Queryには、found_postsプロパティという便利な機能が用意されています。このプロパティには、現在のクエリで条件に合致した投稿の総件数が格納されています。

$args = array(
  'post_type' => 'post', // 投稿タイプを指定
);
$wp_query = new WP_Query( $args );
$total_post_count = $wp_query->found_posts;

上記のコードでは、postタイプの投稿の総件数を取得しています。

3. WP_Queryで投稿件数を取得できるその他の方法

found_postsプロパティ以外にも、WP_Queryを使って投稿件数を取得する方法はいくつかあります。

  • post_countプロパティ: 現在のループで処理している投稿の件数を取得できます。
  • commentsプロパティ: 特定の投稿に紐づくコメントの件数を取得できます。
  • pingsプロパティ: 特定の投稿に紐づくピンバックやトラックバックの件数を取得できます。

これらのプロパティを組み合わせて使用することで、より複雑な条件での投稿件数の取得が可能になります。

4. 具体的な活用例

4.1 特定のカテゴリーに属する投稿の件数を取得

$args = array(
  'post_type' => 'post',
  'category_name' => 'カテゴリー名',
);
$wp_query = new WP_Query( $args );
$category_post_count = $wp_query->found_posts;

4.2 公開済みの投稿のみの件数を取得

$args = array(
  'post_type' => 'post',
  'post_status' => 'publish',
);
$wp_query = new WP_Query( $args );
$published_post_count = $wp_query->found_posts;

4.3 特定のタグに紐づく投稿の件数を取得

$args = array(
  'post_type' => 'post',
  'tag' => 'タグ名',
);
$wp_query = new WP_Query( $args );
$tag_post_count = $wp_query->found_posts;

まとめ

WP_Queryクラスをマスターすることで、記事一覧やアーカイブページを思い通りにカスタマイズすることが可能になります。今回紹介した方法はほんの一例であり、WP_Queryにはまだまだ多くの機能が用意されています。ぜひ色々と試してみて、自分だけのオリジナルページを作成してください。

アバター画像

Groworks Inc.

ものづくりのまち燕三条にある三条ものづくり学校を拠点とし、新潟市、長岡市、燕市、柏崎市を中心に活動しているウェブサイト・ホームページ制作会社です。