投稿詳細ページなどで、カテゴリーやカスタムタクソノミーのタームを出力する際に、記事が所属している親タームのみを出力する方法をご紹介いたします。
WordPressでカテゴリーやカスタムタクソノミーの親タームのみを出力する方法
テーマ内のカテゴリーやカスタムタクソノミーを出力したい箇所に、以下のようなコードを記述します。
<?php $terms = get_the_terms( $post->ID, 'タクソノミー名(カテゴリーの場合はcategory)' ); if ( !empty( $terms ) ) { $output = array(); foreach ( $terms as $term ){ if( 0 == $term->parent ) $output[] = '<a href="' . get_term_link( $term ) .'">' . $term->name . '</a>'; } if( count( $output ) ) echo '' . join( ", ", $output ) . ''; } ?>
このように記述することで、所属しているタクソノミーの親タームのみが出力されます。複数の親タームに所属している場合は、「ターム1, ターム2, ターム3」のようにカンマ区切りで表示します。
あとがき
逆に子タームのみを出力したい場合は、「親カテゴリーは出力せずに子カテゴリー(子ターム)のみを出力する方法」という記事をご参照ください。