目次
投稿のカテゴリ階層が深くなるとカテゴリ情報取得も難しくなる。。。
WordPressのアーカイブページや固定ページで、
カテゴリA
└子カテゴリAa
└孫カテゴリAaa
とした場合、一番最下層の孫カテゴリAaaを取得するコードは下記をコピペ!
このコードをコピペするだけで最下層のカテゴリ名を一発取得!!
archive.php page.php
<?php $cats = get_the_category();
$current_cat = '';
foreach ( $cats as $cat ) {
if ( ! $current_cat || cat_is_ancestor_of( $current_cat, $cat ) ) {
$current_cat = $cat;
}
} ?><a href="<?php echo get_category_link( $current_cat ); ?>"><?php echo $current_cat->cat_name; ?></a>
これで最下層のカテゴリ名を取得できます。
カスタム投稿タイプの場合は、最下層のターム名を取得する場合
taxonomyテンプレート page.php
<?php
$cats = get_the_terms( $post->ID, 'タクソノミー名' );
$current_cat = '';
foreach ( $cats as $cat ) {
if ( ! $current_cat || cat_is_ancestor_of( $current_cat, $cat ) ) {
$current_cat = $cat;
}
} ?><a href="<?php echo get_category_link( $current_cat ); ?>"><?php echo $current_cat->name; ?></a>
これで最下層のターム名を取得できます。