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 デザイナーの私的メモ帳
設計編
基本
投稿関連
固定ページ関連
カテゴリー関連
タクソノミー、ターム関連
テンプレート作成
- category.php カテゴリー専用テンプレートを作る
- archive.php カスタム投稿タイプ専用テンプレートを作る
- taxonomy.php カスタムタクソノミー、タームページを作る
- get_template_part() 外部ファイル・テンプレートを読み込む