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 日本語版

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

設計編

基本

投稿関連

固定ページ関連

カテゴリー関連

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

テンプレート作成

Advance Custom Fieldの使い方

プラグイン

その他

MW WP Form

Contact Form 7

事例

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

プロフィール

kura

個人開発歴5年以上。サイト開発・運営。 ペアでエンジニアとアプリ開発しています。

このサイトではWEBデザイン初心者向けになるべく分かりやすいように解説したり、WEBデザインの便利ツール紹介、開発したりしています。

note