今、ブログを始めようとしている方、
今なら、ConoHaサーバーの「WINGパックプラン」が最大55%OFF!
「1,452円/月」が「643 円/月」の「低コスト」で始められるチャンスとなっております!
お申し込みはこちらから!
ConoHa WINGは国内最速の高性能レンタルサーバーサービスで
初期費用無料、最低利用期間無しでご利用いただけます!
(この記事は2021年11月20日に投稿されました。)
WordPressのカテゴリーの記事数を取得して表示する関数はありませんが、2つ簡単な方法があります。
それは、get_category()でIDを指定する方法と、get_category_by_slug()でスラッグ名を先に指定する方法です。
また、get_the_category()とget_category()を組み合わせて使用すると、各カテゴリーページでカテゴリーの記事数を取得して表示することもできます。
しかし、「カテゴリーの記事数を取得して表示すると何の意味があるの?」と思うかもしれません。
カテゴリーの記事数を取得して表示すると、各カテゴリーの記事数の表示や検索件数の表示などサイトの様々な部分で生かすことができます。
そのため、今回はWordPressのカテゴリーの記事数を取得して表示する方法について紹介していきます。
カテゴリーの投稿記事の数を取得する方法
冒頭でも言いましたが、カテゴリーの投稿記事の数を取得するには2つの方法があります。
・get_category_by_slug()でスラッグ名を指定する場合
get_category()でIDを指定する方法
まず、1つ目はget_category()でIDを指定する方法です。
下記のコードでカテゴリーの投稿記事の数を取得することができます。
1 2 3 4 | <?php $thisCat = get_category(カテゴリーID);//カテゴリーの詳細データを取得 $post_sum = $thisCat->count;//カテゴリーの記事件数を取得 ?> |
get_category()という関数を使い、引数としてカテゴリーIDを設定します。
そして、設定したカテゴリー名の変数に「->count」を付けると、取得したカテゴリーの記事数を取得することができます。
get_category_by_slug()でスラッグ名を指定する方法
2つ目は、get_category_by_slug()でスラッグ名を指定してからカテゴリーIDを指定する方法です。
少し長くなりますが、下記のコードでもカテゴリーの投稿記事の数を取得することができます。
1 2 3 4 5 6 | <?php $cat = get_category_by_slug('スラッグ名');//特定のカテゴリースラッグを指定 $chosen_id = $cat->term_id;//カテゴリーIDを取得 $thisCat = get_category($chosen_id);//カテゴリーの詳細データを取得 echo $post_sum = $thisCat->count;//カテゴリーの記事件数を表示 ?> |
get_category_by_slug()という関数を使い、引数としてカテゴリーのスラッグ名を設定します。
そして、設定したスラッグ名からIDを取得し、取得したID変数に「->count」を付けると、取得したカテゴリーの記事数を取得することができます。
カテゴリーの投稿記事の数を取得して表示してみた
ここでは、下記の場合でカテゴリーの投稿記事の数を取得して表示してみます。
・スラッグ名でカテゴリーの投稿記事の数を取得して表示する場合
ID名で特定のカテゴリーの投稿記事の数を取得して表示する場合
特定のカテゴリーの投稿記事の数を取得して表示するにはget_category()の()にカテゴリーIDを指定します。
例として、特定のカテゴリーの記事数を取得して表示してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php $thisCat = get_category(1);//カテゴリーの詳細データを取得 $post_sum = $thisCat->count;//カテゴリーの記事件数を取得 ?> <div class= "divbox1"> <p>「メンバー紹介」に関する記事は<?php echo $post_sum; ?>件です。</p> </div> <style> .divbox1 { height: 500px; font-size: 30px; text-align:center; } </style> |
■ 実行結果
下記の画像を見ると、「メンバー紹介」」の記事は5件になっていますので、きちんと特定のカテゴリーの記事数を取得して表示しています。
指定したIDのカテゴリーの記事数を表示しています。
スラッグ名でカテゴリーの投稿記事の数を取得して表示する場合
スラッグ名でカテゴリーの投稿記事の数を取得して表示するにはget_category()の()にスラッグ名を指定します。
例として、特定のカテゴリーの記事数を取得して表示してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $cat = get_category_by_slug('member');//特定のスラッグ名を指定 $chosen_id = $cat->term_id;//スラッグ名からカテゴリーIDを取得 $thisCat = get_category($chosen_id);//カテゴリーの詳細データを取得 $post_sum = $thisCat->count;//カテゴリーの記事件数を表示 ?> <div class= "divbox2"> <p>「商品紹介」に関する記事は<?php echo $post_sum; ?>件です。</p> </div> <style> .divbox2 { height: 500px; font-size: 30px; text-align:center; } </style> |
■ 実行結果
下記の画像を見ると、「商品一覧」の記事は2件になっていますので、きちんと特定のカテゴリーの記事数を取得して表示しています。
指定したスラッグ名を指定してから、カテゴリーの記事数を表示しています。
各カテゴリーの投稿記事の数を取得して表示する方法
各カテゴリーの投稿記事の数を取得して表示するにはget_the_category()を使用します。
get_the_category()は特定のカテゴリーを指定できる関数であり、各カテゴリーページを表示したときにそのカテゴリーの詳細を取得することができます。
そのため、各カテゴリーの投稿記事の数を取得することが可能になります。
試しに、各カテゴリーの投稿記事の数を取得して、それぞれのカテゴリーページで表示してみます。
下記のコードを「category.php」に追記します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php $thisCat = get_the_category();//カテゴリーの詳細データを取得 $thisCat = $thisCat[0];//カテゴリーの詳細データを取得 $thisCatName = $thisCat->name;//カテゴリー名を取得 $thisCatId = $thisCat->cat_ID;//カテゴリーIDを取得 $catName = get_category($thisCatId); $post_sum = $catName->count; ?> <div class= "divbox"> <p><?php echo $thisCatName; ?>に関する記事は<?php echo $post_sum; ?>です。</p> </div> <style> .divbox { height: 500px; font-size: 30px; } </style> |
■ 実行結果
get_the_category()で各カテゴリーの記事数を各ページで表示しています。
get_the_category()で各カテゴリーの記事数を各ページで表示することができます。
もし、表示させたくないカテゴリページがあるならば、is_page()で条件分岐をさせましょう。
カテゴリーの記事数を取得して表示するケース
カテゴリーの記事数を取得して表示するのってどのような時に使用するのでしょうか?
ここでは例として、カテゴリーの記事数を取得して表示するケースを紹介していきます。
各カテゴリーの記事数を表示する場合
各カテゴリーの記事数を表示する場合に記事数の取得と表示が使用されます。
例えばカテゴリーページに「〇〇に関する記事: 〇件」などのように表示し、それにリンクを貼ることでそのカテゴリページへ飛ぶようにできます。
記事数の取得と表示は、各カテゴリーの記事数を表示する場合に使用されます。
カテゴリーに関する記事が何件あるのか表記があるとユーザーからもわかりやすくなるかと思います。
検索した時に何件見つかったかを表示する場合
検索した時に何件見つかったかを表示する場合にも記事数の取得が表示使用されます。
例えば、求人紹介サイトで、「〇〇区のジムの求人は何件あるのか」と検索をかけた場合、「検索結果: 〇件」などのようにヒットする記事数をカウントして表示してくれるようになります。
記事数の取得と表示は、検索してヒットした件数として表示することもできます。
まとめ
⚫︎ カテゴリーの投稿記事の数を取得するには下記の2つの方法がある
・get_category()でIDを指定する方法
・get_category_by_slug()でスラッグ名を指定する方法
⚫︎ 各カテゴリーの投稿記事の数を取得して表示するには、get_the_category()を使用する
⚫︎ カテゴリーの記事数を取得して表示することは、下記のようなケースで使用することができる
・各カテゴリーの記事数を表示する場合
・検索した時に何件見つかったかを表示する場合