こんにちは、Ryohei(@ityryohei)です!

本記事では、WordPressで公開済みの投稿の件数を取得する方法をご紹介しています。投稿、固定ページ、カスタム投稿タイプの公開済みの投稿数を取得したい場合に便利です。

WordPressで公開済みの投稿の件数を取得したいんだけど、良い方法ないかな?

上記の疑問にお答えします。

では、解説してきます。

wp_count_posts()を使用する

投稿の件数はwp_count_posts()で取得することができます。

wp_count_posts( $type, $perm );

引数には下記の値を指定することができます。

$type投稿タイプを指定します。初期値はpostなので、対象が投稿の場合は省略可能です。
$perm閲覧中のユーザーが読むことができる非公開の投稿を含めるかを指定します。含める場合は引数にreadableを指定します。含める必要がなければ省略可能です。

wp_count_posts()では、下記のプロパティを指定することで、公開済みの投稿か、下書きの投稿かを絞り込むことができます。

publish公開済みの投稿のみの件数を取得します。
draft下書きの投稿のみの件数を取得します。

以上を踏まえて投稿、固定ページ、カスタム投稿で公開済みの投稿の件数を取得してみます。

公開済みの投稿の件数を取得する

公開済みの投稿の件数を取得します。$typeの初期値には投稿に設定されているので、投稿の場合は省略することができます。後は関数を呼び出してpublishプロパティにアクセスすることで公開済みの投稿件数を取得することができます。

echo wp_count_posts()->publish;

公開済みの固定ページの件数を取得する

公開済みの固定ページの件数を取得します。関数とプロパティは上記と同様です。固定ページの投稿タイプはpageになりますので、引数の$typepageを指定します。

echo wp_count_posts('page')->publish;

公開済みのカスタム投稿の件数を取得する

公開済みのカスタム投稿タイプの投稿件数を取得します。引数の$typeにカスタム投稿のスラッグを指定します。カスタム投稿のスラッグがnewsの場合は下記のようにします。

echo wp_count_posts('news')->publish;

以上の方法で公開済みの各投稿の件数を取得することができます。

最後に

WordPressのドキュメントとして長い間Codexを利用させてもらっていましたが、現在は積極的な更新はされていないとのことなので、現在は公式のドキュメントを参考にするようにしています。本記事の内容は下記のドキュメントを参考にしています。

https://developer.wordpress.org/reference/functions/wp_count_posts/

今後内容が日本語に翻訳されるかは不明ですが、英語でもブラウザの翻訳機能で十分理解することができるので、積極的に使用していこうと思います!

以上、WordPressで公開済みの投稿の件数を取得する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / ブロガー

福岡のWeb制作会社に務めるWebエンジニアです。エンジニア歴は10年程で、好きな言語はPHPとJavaScriptです。本サイトは私がインプットしたWebに関する知識を整理し、共有することを目的に2015年から運営しています。Webに関するご相談があれば気軽にお問い合わせください。