
WordPressで記事数をSQLで取得してたんすけど、もっと簡単な方法ってないんすか?



簡単かどうかはさておいて、動作が軽めな関数wp_count_posts()をお教えしよう。
WordPressの投稿・固定ページ・カスタム投稿の記事数がどれぐらいあるかを取得するときに使えるメモ的な記事になります。
基本的にはwp_count_posts()
を利用した方が処理が早いと思われます。
目次
公開済みの投稿記事数を取得(表示)
おそらく1番使うことが多いであろう通常の投稿記事数を取得する場合は、下記のコードになります。
メディアサイトなどでは、シンプルに記事数で信頼性や運営期間のアピールにもなるので地味ながらもリクエストされるケースがあります。
$count_posts = wp_count_posts();
$posts = $count_posts->publish;
echo '記事数は'.$posts.'件です';
公開済みの固定ページの記事数を取得(表示)
先ほどの投稿記事数の固定ページ版になります。
$count_pages = wp_count_posts('page');
$pages = $count_pages->publish;
echo '記事数は'.$pages.'件です'; //
公開済みの投稿と固定ページの記事数を取得(表示)
投稿記事と固定ページの両方を取得したいときに利用されます。
$count_posts = wp_count_posts('post');
$count_pages = wp_count_posts('page');
$pages = $count_pages->publish;
$posts = $count_posts->publish;
$num = $posts + $pages;
echo '合計' . $num . '件の投稿と固定ページがあります';
カスタム投稿タイプの記事数を取得(表示)
カスタム投稿でも同様に取得することが可能です。
個人的には通常の投稿記事と同じぐらいに使う機会があります。
$count_custom = wp_count_posts('カスタム投稿タイプ名');
$num = $count_custom->publish;
echo '合計' . $num . '件の投稿と固定ページがあります';
まとめ:WordPressで記事数を取得できるwp_count_posts()
WordPressで単純に記事数を取得する方法は複数ありますが、今回の関数はシンプルながらも処理速度も早いので、条件がない限りはおすすめです。
WordPressで記事数を取得できるwp_count_posts()
- WordPress特有の関数で各種類のステータスを取得可能
- アニメーションと組み合わせることも可能
コメント(承認制)