WordPress で、投稿されているすべての記事の数を表示する方法です。

「投稿の全記事数」「カスタム投稿の全記事数」「投稿・カスタム投稿、両方の全記事数」と3パターンで表示させるコードを紹介します。

それぞれのコードを任意の場所に記述しますが、ループの中でも外でもOKです。

投稿の全記事数を表示

投稿の全記事数を表示させたい場合は、以下のように記述します。

<?php
$numposts = $wpdb->get_var("SELECT count(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'");
if (0 < $numposts)
$numposts = number_format($numposts);
echo $numposts.'件';
?>

カスタム投稿の全記事数を表示

次はカスタム投稿の全記事数を表示させたい場合。
仮に「blog」というカスタム投稿を使用していると想定して、以下のように記述します。

<?php
$numposts = $wpdb->get_var("SELECT count(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'blog'");
if (0 < $numposts)
	$numposts = number_format($numposts);
echo $numposts .'件';
?>

投稿・カスタム投稿、両方の全記事数を表示

最後に、投稿・カスタム投、両方を含めた全記事数を表示させたい場合です。
ここでは仮に、通常の投稿以外に「blog」と「photo」という2つのカスタム投稿を使用していると想定します。

<?php
$numposts = $wpdb->get_var("SELECT count(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type IN ('post', 'blog', 'photo')");
if (0 < $numposts)
	$numposts = number_format($numposts);
echo $numposts .'件';
?>

以上。
これで全記事数を表示できます。