WordPress カスタムタクソノミーの子タクソノミーを一覧表示する方法

WordPressでカスタムタクソノミーの子タクソノミーを一覧表示する方法です。

WordPress カスタムタクソノミーの子タクソノミーを一覧表示する方法

やりたいことは、東北・関東・関西などの親タクソノミーに、都道府県の子タクソノミーを持たせ、archive.phpやtaxonomy.phpで、子タクソノミーをー覧を表示させたい、といったことです。

タクソノミーの子タクソノミーをー覧を表示させたい

ここでは WordPressでカスタムタクソノミーの子タクソノミーを一覧表示する方法 を紹介します。


準備

タクソノミースラッグは「area]、名前は「地域」と設定します。

クソノミースラッグはareaで名前は地域と設定する

地域を親子関係で登録をします。

地域を親子関係で登録する

ここまで出来たら、コードを書きます。

子タクソノミーを一覧表示する

archive.phpに下記のコードを貼り付けます。

<?php
// 子タクソノミーを表示
$taxonomies = get_terms( 'area', 'hide_empty=0&orderby=ID&parent=' . get_queried_object_id() );
if ( $taxonomies && count($taxonomies) > 1) :?>
  <ul>
    <?php foreach($taxonomies as $value): ?>
    <li><a href="<?php echo get_term_link($value); ?>"><?php echo $value->name . "(" . $value->count . ")"; ?></a></li>
    <?php endforeach;?>
  </ul>
<?php
endif; ?>

get_termsでは、「area」というタクソノミースラッグを指定し、「hide_empty=0」にて記事がないターム名も取得します。並びはID順。「get_queried_object_id()」を利用して、現在表示されているタームIDを取得し、parentへ指定します。

カスタムタクソノミーなので、「get_term_link」を使ってhrefに設定します。余談ですが、カスタム投稿タイプなら「get_category_link」を利用すればリンクを設定できますよ。

$value->name」で名前を表示し、「$value->count」を使って件数を表示すれば完成です。

下記のURLへアクセスして、関東のリストを表示してみます。

http://localhost/test/area/kanto

結果はこんな感じ。

子タクソノミーを一覧表示した結果

おおー、いい感じだー。

まとめ

WordPressでカスタムタクソノミーの子カテゴリを一覧表示する方法を紹介しました。

ちなみに「child_of」を使用すると、孫カテゴリが表示できます。いろいろ試してベストな表示を見つけてください。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。