WordPress タクソノミータームの子ターム一覧を取得して表示する

WordPressのget_terms()を使ってタクソノミーの子タームの名前やスラッグなどの情報を取得して表示する方法を解説します。

使い方としては、子タームの情報を一覧表示させたいときなどに使用します。

実装コード

例)
タクソノミー: 食べ物(food)
親ターム : ラーメン(ramen)
子ターム1: 塩ラーメン(shio-ramen)
子ターム2: 味噌ラーメン(miso-ramen)
子ターム3: 醤油ラーメン(syoyu-ramen)

<?php
$tax_name = 'food'; //タクソノミー指定
$term_slug = 'ramen'; //親タームslug指定
$termsparent = get_terms( $tax_name, array('slug' => $term_slug)); //親ターム情報取得
$termchildren = get_terms( $tax_name, array('parent' => $termsparent[0]->term_id)); //子ターム情報取得
?>

<ul>
<?php foreach ( $termchildren as $term ): ?>
<li>
<?php echo $term->term_id; //子タームID ?>,
<?php echo $term->name; //子ターム名 ?>,
<?php echo $term->slug; //子タームslug ?>,
</li>
<?php endforeach; ?>
</ul>

出力結果

<ul>
    <li>1, 塩ラーメン, shio-ramen</li>
    <li>2, 味噌ラーメン, miso-ramen</li>
    <li>3, 醤油ラーメン, syoyu-ramen</li>
</ul>

取得できる子ターム情報

出力部分に下記を使用することで子タームの情報を取得できます。


<?php echo $term->term_id; //子タームID ?>
<?php echo $term->name; //子ターム名 ?>
<?php echo $term->slug; //子タームslug ?>
<?php echo $term->taxonomy; //タクソノミー名 ?>
<?php echo $term->description; //ターム説明 ?>
<?php echo $term->parent; //親タームID ?>
<?php echo $term->count; //記事数 ?>

get_terms() 使い方

<?php $terms = get_terms( $taxonomies, $args ); ?>
  • 第一引数 タクソノミースラッグを指定。複数可
  • 第二引数 オプションを指定

参考)関数リファレンス/get terms – WordPress Codex 日本語版

Wodpress デザイナーの私的メモ帳

条件分岐

投稿関連

固定ページ関連

カテゴリー関連

タクソノミー、ターム関連

プラグイン

その他

MW WP Form

  • このエントリーをはてなブックマークに追加

プロフィール

kura

WEBで食べていきたいデザイナーです。 趣味でアプリ開発(ペア、デザイン担当)やNuxt.jsやらをいじってますが、やばいな~と感じつつネットの波に取り残されないようにワカッタこと、キヅイタことをカキカキします。