概要
wp_count_posts
関数は、WordPress における投稿数を取得するための関数です。主に、投稿の状態(公開、下書き、非公開など)ごとに投稿数をカウントし、管理者やテーマ開発者にとって有用な情報を提供するために使用されます。この関数は、ブログやウェブサイトの統計を把握するために役立ちます。以下に示すように、一般的にこの関数は次のような機能を実装する際に用いられます。
- 投稿ダッシュボードの統計表示
- 投稿数に基づくサイドバーウィジェットの作成
- ユーザー向けの投稿数通知機能の実装
- 特定の条件に基づく投稿表示のカスタマイズ
- カスタムレポートの生成
- SEO分析ツールとの統合
- 投稿タイプごとのメトリクスの作成
- 投稿数を表示するカスタムテンプレートの制作
構文
wp_count_posts( $post_type );
パラメータ
$post_type
(string) [オプション]: 投稿の種類を指定します。デフォルトは ‘post’ です。
戻り値
WP_Posts_Count
オブジェクト: 指定した投稿タイプの状態ごとの投稿数を持つオブジェクトを返します。
関連する関数
wp_get_recent_posts
wp_insert_post
wp_update_post
wp_delete_post
使用可能なバージョン
- WordPress 2.9 以降
コアファイルのパス
wp-includes/post.php
サンプルコード
サンプルコード 1: デフォルトの投稿数を取得
このコードは、デフォルトの投稿タイプである “post” の投稿数を取得し、画面に出力します。
$count_posts = wp_count_posts();
echo 'Published posts: ' . $count_posts->publish;
出典: https://developer.wordpress.org/reference/functions/wp_count_posts/
サンプルコード 2: カスタム投稿タイプの投稿数を取得
このコードは、カスタム投稿タイプ “product” の投稿数を取得し、画面に出力します。
$count_posts = wp_count_posts('product');
echo 'Product posts: ' . $count_posts->publish;
出典: https://developer.wordpress.org/reference/functions/wp_count_posts/
サンプルコード 3: 投稿ステータスごとのカウント
このコードは、すべての投稿ステータスのカウントを画面に出力します。
$count_posts = wp_count_posts();
echo 'Published: ' . $count_posts->publish . '<br>';
echo 'Draft: ' . $count_posts->draft . '<br>';
echo 'Pending: ' . $count_posts->pending;
出典: https://developer.wordpress.org/reference/functions/wp_count_posts/
サンプルコード 4: ウィジェット内での使用
このサンプルコードは、カスタムウィジェット内で投稿数を表示する例です。
class My_Widget extends WP_Widget {
public function widget($args, $instance) {
$count_posts = wp_count_posts();
echo 'Number of posts: ' . $count_posts->publish;
}
}
出典: https://developer.wordpress.org/reference/functions/wp_count_posts/
サンプルコード 5: 投稿数の条件に基づくメッセージ
このコードは、特定の条件に基づき投稿数に応じたメッセージを表示します。
$count_posts = wp_count_posts();
if ($count_posts->publish > 10) {
echo 'You have more than 10 published posts!';
} else {
echo 'You have less than 10 published posts.';
}
出典: https://developer.wordpress.org/reference/functions/wp_count_posts/
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | 〇 |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | |
template_redirect | |
get_header | |
wp_head |
非推奨または削除されたバージョン
- なし