今、ブログを始めようとしている方、
今なら、ConoHaサーバーの「WINGパックプラン」が最大55%OFF!
「1,452円/月」が「643 円/月」の「低コスト」で始められるチャンスとなっております!
お申し込みはこちらから!
ConoHa WINGは国内最速の高性能レンタルサーバーサービスで
初期費用無料、最低利用期間無しでご利用いただけます!
(この記事は2021年11月17日に投稿されました。)
WordPressの記事の件数を表示させるにはwp_count_posts()を使用します。
wp_count_posts()は作成されているページをカウントして取得するWordPress関数になります。
作成されている投稿記事や固定ページ、カスタム投稿などの公開済み記事や下書き記事などをカウントして表示することができ、記事数によって処理を変えることが可能になります。
しかし、カテゴリー別に投稿記事を数えることはできませんので注意してください。
今回はWordPressのwp_count_posts()で記事の件数を表示させる方法について紹介していきます。
wp_count_posts()とは
wp_count_posts()とはWordPress内で作成されているページをカウントして取得する関数になります。
WordPress内で作成されている記事になりますので、投稿記事や固定ページなどのページ数をカウントして取得することができます。
書き方は下記のようになります。
1 2 3 4 | <?php $count_posts = wp_count_posts(); echo $count_posts; ?> |
変数count_postsに格納することでwp_count_posts()を呼び出し、WordPress内で作成されている記事数を取得しています。
そして、echo関数を使用して取得した記事数を表示しています。
wp_count_posts()は作成されているページをカウントして取得するWordPressの関数になります。
そのため、すぐに呼び出して使用することができます。
wp_count_posts()で記事の件数を表示させる方法
ここでは、wp_count_posts()で記事の件数を表示させる方法について下記のパターンで紹介します。
・下書きページの投稿数を取得する場合
・固定ページの記事数を取得する場合
・カスタム投稿の記事数を取得する場合
公開済みの投稿数を表示する場合
公開済みの投稿数を表示する場合は、下記のようなコードを記載します。
1 2 3 4 | <?php $count_posts = wp_count_posts(); $published_posts = $count_posts->publish; ?> |
wp_count_posts()を呼びたした変数$count_postsに「->publish」を追記します。
試しに自分のサイトの公開済みの記事を取得してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php $count_posts = wp_count_posts(); $published_posts = $count_posts->publish; ?> <div class= "divbox1"> 現在、公開済みの記事は<?php echo $published_posts; ?>件である。 </div> <style> .divbox1{ text-align: center; height: 400px; font-size: 30px; } </style> |
■ 実行結果
下記の画像を見ると、公開済みの記事は5件になっていますので、きちんと記事数を取得して表示しています。
wp_count_posts()で公開済みの記事数を取得して表示しています。
しかし、カテゴリー別で記事数をカウントすることはできませんので注意してください。
下書きの投稿数を表示する場合
下書きの投稿数を表示する場合は、下記のようなコードを記載します。
1 2 3 4 | <?php $count_posts = wp_count_posts(); $published_posts = $count_posts->draft; ?> |
wp_count_posts()を呼びたした変数$count_postsに「->draft」を追記します。
試しに自分のサイトの公開済みの記事を取得してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php $count_posts = wp_count_posts(); $draft_posts = $count_posts->draft; ?> <div class= "divbox2"> 現在、下書きの記事は<?php echo $draft_posts; ?>件である。 </div> <style> .divbox2{ text-align: center; height: 400px; font-size: 30px; } </style> |
■ 実行結果
下記の画像を見ると、下書きの記事は2件になっていますので、きちんと記事数を取得して表示しています。
固定ページの記事数を表示する場合
固定ページの記事数を表示する場合は、下記のようなコードを記載します。
1 2 3 | <?php $count_pages = wp_count_posts('page'); ?> |
wp_count_posts()を呼びたした変数$count_posts()の括弧の中に「’page’」と追記します。
試しに自分のサイトの固定ページの記事を取得してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php $count_pages = wp_count_posts('page'); $count_pages_pbspage = wp_count_posts('page')->publish; $count_pages_dftpage = wp_count_posts('page')->draft; ?> <div class= "divbox3"> 現在、公開済みの固定ページの記事は<?php echo $count_pages-pbspage; ?>件である。 </div> <div class= "divbox4"> 現在、下書きの固定ページの記事は<?php echo $count_pages-dftpage; ?>件である。 </div> <style> .divbox3,.divbox4{ text-align: center; height: 400px; font-size: 30px; } </style> |
■ 実行結果
下記の画像を見ると、固定ページの公開済みの記事は3件、下書きの記事は2件になっていますので、きちんと記事数を取得して表示しています。
カスタム投稿の投稿数を表示する場合
カスタム投稿の投稿数を表示する場合は、下記のようなコードを記載します。
1 2 3 | <?php $count_pages = wp_count_posts('カスタム投稿名'); ?> |
wp_count_posts()を呼びたした変数$count_posts()の括弧の中に「カスタム投稿名」を追記します。
試しに自分のサイトのカスタム投稿の記事を取得してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php $count_pages = wp_count_posts('custom'); $count_pages_pbspage = wp_count_posts('custom')->publish; $count_pages_dftpage = wp_count_posts('custom')->draft; ?> <div class= "divbox3"> 現在、公開済みのカスタム投稿記事は<?php echo $count_pages-pbspage; ?>件である。 </div> <div class= "divbox4"> 現在、下書きのカスタム投稿記事は<?php echo $count_pages-dftpage; ?>件である。 </div> <style> .divbox3,.divbox4{ text-align: center; height: 400px; font-size: 30px; } </style> |
■ 実行結果
下記の画像を見ると、カスタム投稿の公開済みの記事は2件、下書きの記事は1件になっていますので、きちんと記事数を取得して表示しています。
wp_count_posts()を使用するケース
wp_count_posts()を使用するケースについて紹介していきます。
wp_count_posts()で記事数によって表示する要素を変える
wp_count_posts()を使用すると、記事数によって表示する要素を変えることができます。
例えば、公開済みの記事が10記事以上の場合と10記事未満の場合で表示する文字を変えてみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php $count_pages = wp_count_posts( ); $count_pages_pbspage = wp_count_posts()->publish; ?> <?php if ($count_pages_pbspage >= 10) : ?> <p class= "textp">現在の記事数は10記事以上あります。</p> <?php else: ?> <p class= "textp">現在の記事数は10記事未満です。</p> <?php endif; ?> <style> .textp { font-size: 30px; height: 400px; text-align: center; } </style> |
■ 実行結果
ブログ内の投稿記事が7記事ですので、「現在の記事数は10記事未満です。」が表示されています。
このように、wp_count_posts()を使用することで、記事数によって処理を分岐させることができます。
wp_count_posts()で記事数によって処理する内容を変える
wp_count_posts()を使用すると、記事数によって処理する内容を変えることもできます。
例えば、公開済みの記事が偶数の場合と奇数の場合でサイトの背景を変えてみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php $count_pages = wp_count_posts( ); $count_pages_pbspage = wp_count_posts()->publish; $num = $count_pages_pbspage % 2; ?> <?php if ($num == 1) : ?> <script> jQuery("body").css("background", "orange"); </script> <?php else: ?> <script> jQuery("body").css("background", "blue"); </script> <?php endif; ?> |
■ 実行結果
ブログ内の投稿記事が7記事で奇数になるので、背景がオレンジ色で表示されています。
このように、wp_count_posts()を使用することで、記事数が偶数か奇数によって処理を分岐させることもできます。
記事を投稿するたびにサイトの背景が変わるのは面白みがありますね。
wp_count_posts()はカテゴリー別でページをカウントすることはできない
wp_count_posts()は、公開記事や下書き記事を区別してカウントすることはできますが、カテゴリー別で記事をカウントすることはできませんので注意してください。
もし、カテゴリー別でページをカウントしたい場合は下記の記事をご参考ください。
まとめ
⚫︎ wp_count_posts()はWordPress内で作成されているページをカウントして取得する関数
⚫︎ wp_count_posts()は下記の記事の件数を表示することができる
・公開済みの投稿数
・下書きの投稿数
・固定ページの記事数
・カスタム投稿の投稿数
⚫︎ wp_count_posts()は記事数によって表示する要素を変えたり、記事数によって処理する内容を変えることができる
⚫︎ wp_count_posts()はカテゴリー別でページをカウントすることができない