説明
wp_count_posts() は、投稿タイプごとに、ステータス別の件数を取得する関数です。
基本構文
wp_count_posts( string $type = 'post', string $perm = '' ): stdClass
引数
$type:投稿タイプ$perm:readableを指定すると、閲覧権限のある分のみ
戻り値
ステータス別の件数を持つオブジェクト。
使い方(サンプル)
$counts = wp_count_posts();
echo (int) $counts->publish;
注意点
- 結果はキャッシュされます。
- 公開数は
$counts->publishで取り出します。
実務での使いどころ
- 投稿タイプごとの、公開済み・下書きなどの件数を取得するとき。
- 管理画面やダッシュボードに、件数を表示するとき。
よくあるミスと対処
- 戻り値がオブジェクトであることを知らず、数値として扱っている。
$counts->publishのように、ステータスごとの件数を取る。 post_typeを指定せず、通常の投稿の件数しか取れない。
NG例
$count = wp_count_posts( 'news' );
echo $count; // オブジェクトなので、エラーになる
OK例
$count = wp_count_posts( 'news' );
echo (int) $count->publish;
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| 投稿タイプ別・ステータス別の件数 | wp_count_posts() |
| 条件付きの件数(カテゴリーなど) | WP_Query の found_posts |
関連項目
公式リファレンス:wp_count_posts() | Function | WordPress Developer Resources

コメント