web関連

【wordpress】記事の投稿数や記事件数を取得する方法

wordpressの投稿や固定ページやカスタム投稿の記事が何件くらいあるのか知りたかった時の備忘録

【取得方法1】「wp_count_posts()」を使って記事件数を取得

「投稿」「固定ページ」「カスタム投稿」辺りの記事数を取得するならwp_count_posts()で取得することができる。

// 「固定:page」「投稿:post」
$count_posts = wp_count_posts('カスタム投稿slug');
$count = $count_posts->publish;
echo '記事数は' . $count . '件です';

複数取得したい場合は、wp_count_posts()を複数用意して足し算。
もしくは、以下のサブループを使って取得。

【取得方法2】wordpressのサブループで記事件数を取得

wordpressのサブループ作成を利用して、件数を取得する方法。
これなら、足し算しなくても記事件数を合算して取得可能。

$arg = array(
    'post_type' => array('post','page','カスタム投稿slug'),
    'posts_per_page' => -1 // 全件取得
);
$the_query = get_posts($arg);
echo '記事数は' . count($the_query) . '件です';

【取得方法3】SQLで記事件数を取得

WordPressではなくSQLで直接データベースから記事件数を取得する方法。
これでも合算した記事件数を取得可能。

global $wpdb;
$results = $wpdb->get_results( "
SELECT *
FROM $wpdb->posts
WHERE post_status = 'publish'
AND post_type in ('post','page','カスタム投稿slug')
");
echo '記事数は' . count($results) . '件です';

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。

CAPTCHA