WordPress タクソノミーのタームを一覧取得して表示する 投稿/親/子/孫
WordPressでタームの情報を取得する関数get_terms()
を使うとタームの一覧表示が実現できます。投稿のタームを表示する場合はget_the_terms
を使用します。
タームで表示できる情報一覧を見たい方はターム情報を取得して表示するを参照してください。
すべてのターム表示する
タクソノミーのタームをリンク付きで名前とスラッグを表示します。
<?php
$tax_name = 'taxnomy_name'; //タクソノミーを指定
$terms = get_terms($tax_name);
?>
<ul>
<?php foreach($terms as $term): ?>
<li><a href="<?php echo get_term_link($term->slug, $tax_name) ?>"><?php echo $term->name ?></a></li>
<?php endforeach; ?>
</ul>
親タームのみを表示
タクソノミーの親タームをリンク付きで名前とスラッグを表示します。
<?php
$tax_name = 'food'; //タクソノミーを指定
$terms = get_terms( $tax_name, array('parent' => 0));
?>
<ul>
<?php foreach($terms as $term): ?>
<?php if($term->parent == 0): ?>
<li><a href="<?php echo get_term_link($term->slug, $tax_name) ?>"><?php echo $term->name ?> (<?php echo $term->slug ?>)</a></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
タームが持っているparent
を使用します。
parent
は親タームがあると親タームのID
が格納されます。
親タームがない時は0
が格納されます。
これを利用して、parent
が0
の場合にターム情報を表示させることで親タームのみを表示することができます。
親子孫タームを表示
タクソノミーの親子孫タームをリンク付きで名前とスラッグを表示します。
wp_list_categories
を使用するのがシンプルです。
taxonomy_name
を対象のタクソノミースラッグに変更してください。
<?php wp_list_categories('taxonomy=taxonomy_name&hierarchical=1&title_li='); ?>
投稿のタームをすべて表示する
投稿のターム表示はget_the_terms
を使用する。
<?php
$tax_name = 'taxonomy_slug'; //タクソノミースラッグを指定
$terms = get_the_terms($post->ID, $tax_name);
?>
<ul>
<?php foreach($terms as $term): ?>
<li><a href="<?php echo get_term_link($term->slug, $tax_name) ?>"><?php echo $term->name ?> (<?php echo $term->slug ?>)</a></li>
<?php endforeach; ?>
</ul>
投稿のタームを一つだけ表示する
<?php
$tax_name = 'taxonomy_slug'; //タクソノミースラッグを指定
$terms = get_the_terms($post->ID, $tax_name);
$term = $terms[0];
?>
<p><a href="<?php echo get_term_link($term->slug, $tax_name) ?>"><?php echo $term->name ?></a></p>
デザインを本で学びたい人向けの記事
Wordpress デザイナーの私的メモ帳
設計編
基本
投稿関連
固定ページ関連
カテゴリー関連
タクソノミー、ターム関連
テンプレート作成
- category.php カテゴリー専用テンプレートを作る
- archive.php カスタム投稿タイプ専用テンプレートを作る
- taxonomy.php カスタムタクソノミー、タームページを作る
- get_template_part() 外部ファイル・テンプレートを読み込む