今、ブログを始めようとしている方、
今なら、ConoHaサーバーの「WINGパックプラン」が最大55%OFF!
「1,452円/月」が「643 円/月」の「低コスト」で始められるチャンスとなっております!
お申し込みはこちらから!
ConoHa WINGは国内最速の高性能レンタルサーバーサービスで
初期費用無料、最低利用期間無しでご利用いただけます!
(この記事は2022年5月14日に投稿されました。)
皆さんは自分のサイトにカテゴリーの一覧を表示したいと思ったことはありませんか?
WordPressではサイト内で作成したカテゴリーの名前をデバイス上にまとめて表示できる関数が存在します。
つまり、管理画面で項目を増やしたとしてもカテゴリーの一覧として自動的に追加して表示することができるということです。
そのため、TOPページでカテゴリーのリンクボタンを表示したり、サイドバーのカテゴリーを表示したりするのにとても便利です。
また、関数を使用することでたくさん書かなければならないコードをたったの数行で実装することができるので、コードの削減にも繋がります。
もし、何かしらの理由でカテゴリーの一覧を表示したいと思った場合はこちらの記事をご参考ください。
今回はWordPressでカテゴリーの一覧を表示する3つの方法について紹介していきます。
カテゴリーとは
カテゴリーとは、「部類・分類・ジャンル」のことを指し、WordPressでは投稿記事を分類するために使用します。
カテゴリーを設定するとたくさんの記事を同じ種類に分類することができ、ユーザーは投稿された記事を見つけることが簡単になります。
そのため、WordPressでサイトを作成した場合は、カテゴリーを必ず設定するようにしましょう。
もし、カテゴリーの使い方や設定方法についてきましては下記の記事をご参考ください。
カテゴリーの一覧を表示する3つの方法
本題にもある、カテゴリーの一覧を表示する3つの方法についてご紹介します。
3つの方法とは下記となります。
- get_categories()を使用する方法
- wp_list_categories()を使用する方法
- get_terms()を使用する方法
それぞれの方法で下記の画像にある全てのカテゴリーを表示してみます。
・お知らせ
・スポーツ一覧
・体操
・武道
・球技
・陸上
get_categories()を使用する方法
まず、一つ目はget_categories()を使用する方法です。
get_categories()とはWordPress内で設定したカテゴリーを配列形式で取得する関数となります。
配列形式で取得するため、get_categories()を追記しただけでは画面には表示されません。
そのため、get_categories()でカテゴリーの一覧を表示するには下記のようなコードになります。
⚫︎ front-page.php
1 2 3 4 5 6 7 8 | <?php $categories = get_categories(); if ( $categories ) { foreach ( $categories as $category ) { echo '<p><span>'.$category->name.'</span></p>'; } } ?> |
実行結果
get_categories()によってWordPressで設定したカテゴリーの一覧が表示されています。
wp_list_categories()を使用する方法
そして、2つ目はwp_list_categories()を使用する方法です。
wp_list_categories()とはWordPress内で設定したカテゴリーをリストで表示する関数となります。
こちらの関数はコードに追記するだけで画面にカテゴリーの一覧を表示することができます。
そのため、wp_list_categories()でカテゴリーの一覧を表示するには下記のようなコードになります。
⚫︎ front-page.php
1 | <?php wp_list_categories(); ?> |
実行結果
wp_list_categories()によって、WordPressで設定したカテゴリーの一覧がリストで表示されています。
また、リンク付きになっていますのでクリックするとカテゴリーのページを表示することができます。
get_terms()を使用する方法
最後に3つ目はget_terms()を使用する方法です。
get_terms()とはWordPress内で設定したタームを配列形式で取得する関数となります。
そもそも、タームとはタクソノミー(カテゴリーやタグ、ジャンルタクソノミー)で設定した項目のことをいいます。
そのため、get_terms()のパラメータにカテゴリーを指定することで、WordPressで設定したカテゴリーの項目を取得することができます。
こちらも、配列形式で取得するため、get_terms()を追記しただけでは画面には表示されませんのでご注意ください。
get_terms()でカテゴリーの一覧を表示するには下記のようなコードになります。
⚫︎ front-page.php
1 2 3 4 5 6 | <?php $terms = get_terms('category'); // タクソノミー(カテゴリー)の指定 foreach ($terms as $category) { echo '<p><span>'.$category->name.'</span></p>'; } ?> |
実行結果
get_terms()によってWordPressで設定したカテゴリーの一覧が表示されています。
特定の項目を除外してカテゴリーの一覧を表示する場合
カテゴリーの一覧を表示することはできたものの、一覧として表示したくないカテゴリーもあるかと思います。
そのため、パラメータに「exclude」を指定することで特定の項目を除外することが可能となります。
「exclude」とは、get_categories()で指定できるパラメータに1つであり、カテゴリーIDを指定すると、指定したカテゴリーを一覧から除外して表示することができます。
そのため、ここでは先ほど紹介したそれぞれの方法で、特定の項目を除外してカテゴリーの一覧を表示する場合について紹介していきます。
get_categories()の場合
get_categories()使ってカテゴリーの一覧を表示した状態で特定の項目を除外してみます。
試しに、「Blog」のカテゴリーを除外してリンク付きの文字列で表示してみます。
⚫︎ front-page.php
1 2 3 4 5 6 7 8 9 | <?php $args = array('exclude' => 23); $categories = get_categories($args);; if ( $categories ) { foreach ( $categories as $category ) { echo '<p><a href="'.get_category_link($category).'">'.$category->name.'</a></p>'; } } ?> |
実行結果
get_categories()のパラメータに「exclude」を指定することで、カテゴリーの項目を除外して表示することができます。
そのため、カテゴリーの一覧の中で「Blog」のカテゴリーが除外されています。
wp_list_categories()の場合
wp_list_categories()使ってカテゴリーの一覧を表示した状態で、特定の項目を除外してみます。
試しに、「お知らせ」のカテゴリーを除外してみます。
⚫︎ front-page.php
1 2 3 4 | <?php $args = array('exclude' => 5); wp_list_categories($args); ?> |
実行結果
wp_list_categories()のパラメータに「exclude」を指定することで、カテゴリーの項目を除外して表示することができます。
そのため、カテゴリーの一覧の中で「お知らせ」のカテゴリーが除外されています。
get_terms()の場合
get_terms()使ってカテゴリーの一覧を表示した状態で、特定の項目を除外してみます。
試しに、「Blog」と「お知らせ」の2つのカテゴリーを除外してみます。
⚫︎ single.php
1 2 3 4 5 6 7 | <?php $args = array('exclude' => ([5,23])); $terms = get_terms('category', $args); foreach ($terms as $category) { echo '<p><a href="'.get_term_link($category).'">'.$category->name.'</a></p>'; } ?> |
実行結果
get_terms()のパラメータに「exclude」を指定することで、カテゴリーの項目を除外して表示することができます。
そのため、カテゴリーの一覧の中で「Blog」と「お知らせ」のカテゴリーが除外されています。
まとめ
⚫︎ カテゴリーとは、「部類・分類・ジャンル」のことを指し、WordPressでは投稿記事を分類するために使用する機能である
⚫︎ WordPressでカテゴリーの一覧を表示するには下記の3つの方法がある
・get_categories()を使用する方法
・wp_list_categories()を使用する方法
・get_terms()を使用する方法
⚫︎ 特定の項目を除外してカテゴリーの一覧を表示するにはパラメータに「exclude」を指定する