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が格納されます。
これを利用して、parent0の場合にターム情報を表示させることで親タームのみを表示することができます。

親子孫タームを表示

タクソノミーの親子孫タームをリンク付きで名前とスラッグを表示します。

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 デザイナーの私的メモ帳

設計編

基本

投稿関連

固定ページ関連

カテゴリー関連

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

テンプレート作成

Advance Custom Fieldの使い方

プラグイン

その他

MW WP Form

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

プロフィール

kura

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