問題 × 解決策

WordPressで条件に応じた記事の件数を取得する方法

問題

Wordpressで条件に応じた記事の件数を取得するには?

解決策

クエリのオプションを設定し、

  1. 「WP_Query」を起動させて、「found_posts」を使用する
  2. 「get_posts」を起動させて、「count()」を使用する

ことで件数を取得できます。

 

記事の件数を取得する方法

WordPressで記事の総件数や期間内(特定の年月など)の件数や特定のタームに登録された件数など、条件に応じた記事の件数を取得する方法をご紹介します。

「WP_Query」を使用した例

クエリのオプションを設定し、「WP_Query」を起動させて、「found_posts」を使用することで件数を取得できます。

$args=array(
	'posts_per_page' => -1,
	'post_type' => $post_type,
	'paged' => $paged
);
$my_query = new WP_Query( $args );
echo "記事数:".$my_query->found_posts."件";

「get_posts」を使用した例

クエリのオプションを設定し、「get_posts」を起動させて、「count()」を使用することで件数を取得できます。

$args = array(
	'posts_per_page' => -1,
	'post_type' => $post_type
);
$my_query = get_posts( $args );
echo "記事数:".count( $my_query )."件";

クエリのオプションの設定例

クエリのオプションの設定例は以下となります。

記事の総数

$args = array(
	'posts_per_page' => -1,
	'post_type' => $post_type
);

記事の期間内(特定の年月)の件数

$args = array(
	'posts_per_page' => -1,
	'post_type' => $post_type,
	'date_query' => array(
		array(
			'after' => array(
				'year' => get_query_var('year'),
				'month' => get_query_var('monthnum'),
				'day' => 1,
			),
			'before' => array(
				'year' => get_query_var('year'),
				'month' => get_query_var('monthnum'),
				'day' => 31,
			),
			'inclusive' => true,
		),
	)
);

記事の特定のタームに登録された記事の総数

$args = array(
	'posts_per_page' => -1,
	'post_type' => $post_type,
	'tax_query' => array( 
		array(
			'taxonomy' => $post_cat, 
			'field' => 'slug', 
			'terms' => $term->slug
		)
	)
);

参考ページ

以下のサイトが、より詳しく解説してくれています。

【[WP]wp_count_postsで記事数を取得して表示したり条件分岐する方法 – WEBデザインのTIPSまとめサイト「ウェブアンテナ」】
http://kihon-no-ki.com/wordpress-wp-query-found-posts-property

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

7 + 6 =

「問題 × 解決策」
月別アーカイブ一覧

「問題 × 解決策」
月別アーカイブ一覧