投稿されたタクソノミーターム名を表示する

記事に投稿されているカスタム分類(タクソノミーターム)だけを表示するタグ。

taxonomyは表示したいカスタム分類のタクソノミー名を記入すること

リンク付きで表示

■カンマで表示

<?php echo get_the_term_list( $post->ID, 'taxonomy', '分類: ', ', ', '' ); ?>

■ulリストで表示

<?php echo get_the_term_list($post->ID, 'taxonomy', '<ul ><li>','</li><li>','</li></ul>');  ?>

リンク無しで表示(名前・ターム名だけ)

<?php $terms = get_the_terms($post->ID, 'taxonomy'); foreach ($terms as $term) : ?>
<?php echo $term->name; ?>
<?php endforeach; ?>

上記で問題なく動作するんですが、テンプレートがごちゃごちゃするなぁ・・・と思っていたらfunctions.phpにてリンク削除する方法もありました。

functions.phpでカスタマイズ

get_the_term_listで分類にリンクをつけないようにする。

function get_the_term_list_nolink( $id = 0, $taxonomy, $before = '', $sep = '', $after = '' ) {
 $terms = get_the_terms( $id, $taxonomy ); 
 
 if ( is_wp_error( $terms ) )
 return $terms;
 
 if ( empty( $terms ) )
 return false;
 
 foreach ( $terms as $term ) {
 $term_names[] = $term->name ;
 }
 
 return $before . join( $sep, $term_names ) . $after;
}

上記をfunctions.phpに記入後、以下タグでリンク無しターム名の表示が可能になりました♪

<?php echo get_the_term_list_nolink( $post->ID, 'taxonomy', '分類: ', ', ', '' ); ?>

個人的はこちらのほうが、タグもすっきりし装飾しやすいですね!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です