WordPressの投稿一覧やシングルページで親カテゴリー(親ターム)のみを出力する方法

WordPressの投稿一覧やシングルページで親カテゴリー(親ターム)のみを出力する方法

WordPressの投稿一覧やシングルページで親カテゴリー(親ターム)のみを出力する方法

WordPressサイトにおいて、親カテゴリーと子カテゴリーを必ずセットで指定するような運用をしていることがあります。その場合、get_the_term_listやget_the_termsでカテゴリーをそのまま出力すると、選択しているカテゴリーが親子両方表示されます。

親カテゴリーのみを出力して子カテゴリーは表示しなくても良い、というケースもあるかと思います。そんな時のために、親カテゴリーのみを出力する方法をご紹介したいと思います。

WordPressの投稿一覧やシングルページで親カテゴリー(親ターム)のみを出力する方法

親カテゴリー・子カテゴリーが選択されている場合に、親カテゴリーのみを出力するには、一覧のループ内やシングルページ内で以下のように記述します。


<?php
  $terms = get_the_terms( $post->ID, 'タクソノミー名' );
  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 ) . '';
  }
?>

「タクソノミー名」のところで表示したいタクソノミーを指定してください。例えばカテゴリーの場合は、「category」になります。

「if( 0 == $term->parent )」で親カテゴリーかどうかを判別して出力しています。

あとがき

出力するカテゴリーを親のみにして、デザインをスッキリさせたいといった際には、ぜひお試しください。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

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