目次
投稿や固定ページなどの投稿数を知りたい
カスタマイズ案件でWordPressのダッシュボードに投稿記事の公開済み・下書きの件数を表示してほしいという要望に対応した時のメモ。投稿や固定ページ、カスタム投稿タイプでも同様に件数を取得できるwp_count_posts
関数を使用します。基本は下記通り。
wp_count_posts( $type, $perm );
引数は2つでどちらも省略可能。
- 第一引数は投稿タイプを文字列で指定します。デフォルトは
'post'
です。 - 第二引数は非公開の投稿を含めるかどうかを指定します。含める場合は、
'readable'
を指定します。デフォルトはempty(空)。
件数を出力する
この関数をそのままecho
してもエラーが出てしまいます。公開済み(publish
)か下書き(draft
)をプロパティで指定してあげます。
echo wp_count_posts()->public // 公開済み;
echo wp_count_posts()->draft; // 下書き
これを当初の目的であるダッシュボードのウィジェットに表示したコードがこちら。
function add_dashboard_widgets() {
wp_add_dashboard_widget(
'ex_post_dashboard_widget', // ウィジェットのスラッグ
'記事の件数', // ウィジェットのタイトル
'ex_post_dashboard_widget' // ウィジェットの内容を出力するコールバック関数
);
}
function ex_post_dashboard_widget() {
echo '投稿件数(公開)' . wp_count_posts()->publish . '件<br>';
echo '投稿件数(下書き)' . wp_count_posts()->draft . '件<br>';
echo '固定ページ件数(公開)' . wp_count_posts( 'page' )->publish . '件<br>';
echo '固定ページ件数(下書き)' . wp_count_posts( 'page' )->draft . '件';
}
add_action( 'wp_dashboard_setup', 'add_dashboard_widgets' );
表示↓↓↓

参考サイト
- Developer Resources: wp_count_posts()
- https://developer.wordpress.org/reference/functions/wp_count_posts/