wp_count_posts

説明

object wp_count_posts( [ string $type = '' [ , string $perm = '' ] ] )
投稿数を取得する。

パラメータ

  • $type
    投稿タイプを指定(省略時は'post')
  • $perm
    'readable'または''を指定(省略時は'')

返り値

投稿ステータス別の投稿数を格納したオブジェクトを返す。オブジェクトのプロパティは次に示す通り投稿ステータス名であり、それぞれに投稿数が格納されている。
プロパティ内容
publish公開
future予約投稿
draft下書き
pendingレビュー待ち
private非公開
trashごみ箱
auto-draft自動下書き
inherit継承記事(リビジョンなど)

注意

パラメータ$permで'readable'を指定し、ユーザがログイン中( is_user_logged_in関数で調べる)でかつ他人のステータスが'private'な記事を閲覧できない( current_user_can関数で調べる)場合、検索対象はステータスが'private'以外か、そのユーザが投稿したステータスが'private'の投稿になる。

使用例

  • 投稿記事の投稿数を取得する。
    <?php $counts = wp_count_posts(); ?>
  • カスタム投稿タイプ'news'で'readable'して投稿数を取得する。
    <?php $counts = wp_count_posts( 'news', 'readable' ); ?>

フィルター

投稿数を返す直前に'wp_count_posts'フィルターを呼び出す(3.7.0以降)。$countsには投稿数の連想配列が、$type$permのそれぞれにはパラメータで受け取った値が格納される。
return apply_filters( 'wp_count_posts', $counts, $type, $perm );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/post.php

最終更新 : 2013年10月31日 13:55



お勧め

ログインページのタイトルを変更してみる(2018年5月27日 更新)

バージョン4.9では新しいフィルターやフィルターのパラメータの追加が多数行われている。ここではその一例としてログインページ関連で追加された2つのフィルターを紹介する。

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 更新)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

meta_compare_key使ってみた(2019年3月19日 更新)

ブロックエディターの登場により、標準のカスタムフィールドを使う機会はかなり減った気がする。そんな中、5.1.0で追加されたのが、カスタムフィールド名(メタキー)に含まれる文字列を指定する'meta_compare_key'キーだ。

各種リンクを取得する関数一覧(2014年6月12日 更新)

サイト設計において、ページ間の相互リンクは重要である。WordPressでは各種ページのリンク(パーマリンク)を取得する関数を用意しており、それらを一通り把握しておくべきだろう。

Login rebuilder:プラグイン作ってみました(2019年4月22日 更新)

昨年投稿した「ログインページを変える」をプラグイン化。ログインページを独自の名前のページ変更し、標準のログインページwp-login.phpを使用できないようにするプラグインです。部外者によるwp-login.phpのアクセスにお悩みの方にお勧めします。また2.0.0では「XML-RPCリクエストの管理機能」を追加。2.2.0では管理者のログイン時にメールで通知する機能を追加しました。