WordPressで親カテゴリーは出力せずに子カテゴリー(子ターム)のみを出力する方法

WordPressで親カテゴリーは出力せずに子カテゴリー(子ターム)のみを出力する方法

WordPressで親カテゴリーは出力せずに子カテゴリー(子ターム)のみを出力する方法

親子関係にあるカテゴリーやカスタムタクソノミーで、親は出力せずに子カテゴリー(子ターム)のみを出力する方法をご紹介いたします。

記事ページやアーカイブのループ内で使える方法です。

親カテゴリーは出力せずに子カテゴリー(子ターム)のみを出力する方法

カテゴリーの場合

カテゴリーで子カテゴリーのみを出力したい場合は、テーマ内で以下のように記述します。


<?php
$cats = get_the_category();
foreach($cats as $cat){
  if($cat->parent){
    echo $cat->cat_name;   
  }
}
?>

「if($cat->parent)」で子カテゴリーを判定していて、記事が属している子カテゴリーの名前が出力されます。

例えば、以下のようなカテゴリーがあって、「親カテゴリー」と「子カテゴリー1」に属していた場合、「子カテゴリー1」のみが表示されます。

親カテゴリー
└子カテゴリー1
└子カテゴリー2
└子カテゴリー3

カスタムタクソノミーの場合

カスタムタクソノミーでは、以下のように記述します。


<?php
$terms = get_the_terms( $post ->ID, 'タクソノミー名' );
foreach( $terms as $term ) {
  if($term->parent){
    echo $term->name;
  }
}
?>

こちらも「if($cat->parent)」で子カテゴリーを判定しています。上記のように記述すると、記事が属している子タームの名前が出力されます。

あとがき

子カテゴリーや子タームのみを出力する場合が、制作案件でもたまにあるので、覚えておくと役立つと思います。

逆に親タームのみを出力したい場合は、「カテゴリーやカスタムタクソノミーの親タームのみを出力する方法」をご参照ください。

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

Twitter で

コメントを残す

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