すべてをゆるしてしまうw

WordPressで記事の件数を取得…

たとえば 「現在 ○ 件 あります」 など表示したいときに使いたいですよね。

超カンタンに取得できた

実は WordPress にはじめから用意されている関数がありました。

wp_count_posts 関数

これでとりあえず全件数を取得できます。

wp_count_posts() で通常の投稿 post_type=’post’ の記事数です。

取得するにはもうひと手間必要なのでサンプルコードを。

<?php 
$post_counts = wp_count_posts();
// 公開済みの件数
$post_count = $post_counts->publish;

echo "公開済みの記事は ".$post_count." 件です。";

カスタム投稿タイプなら引数に投稿タイプ名を与える

カスタム投稿タイプ お店 ‘shop’ を数えたい場合はこんな感じ

page-shop.php などでこのように記述し全店舗数を表示したい。

<h2>全店舗 <?php echo get_shop_all_count(); ?> 店 から厳選した商品</h2>

functions.php などで全店舗件数を関数で取得できるように記述。

/**
 * 全参加店舗数取得
 */
function get_shop_all_count() {
	$count_shops = wp_count_posts('shop');
	$shop_count = $count_shops->publish;
	return $shop_count;
}

これで表示できそうですね。

参考文献

こちらを参考にすると、まだ下書きの件数も取得できることがわかります。

<?php 
$post_counts = wp_count_posts();
// 下書きの件数
$post_count = $post_counts->draft;

echo "下書きの記事件数は ".$post_count." 件です。";

ちょっと使い所がわかりませんが(笑)

いろいろ応用して使えそうです。

この記事が気に入ったら
いいね ! しよう

Twitter で