WORDPRESS 最上位のカテゴリだけ表示

小カテゴリの情報を出力したい時に、親カテゴリは”これ”ですよという表示がしたい。
そして親カテゴリがない場合はそのまま表示したい。ということがよくある。

function.php

//最上位のカテゴリ情報を返す
function get_top_categoryData($cat_id){
    $category_data=get_category($cat_id);
    while($category_data->category_parent != 0){
        $category_data=get_category($category_data->category_parent);
    }
    return $category_data;
}

表示例:
スラッグを表示

$post_category = get_the_category();
$post_top_category = get_top_categoryData($post_category[0]->term_id);
echo $post_top_category->slug;

カテゴリ名を表示

$post_category = get_the_category();
$post_top_category = get_top_categoryData($post_category[0]->term_id);
echo $post_top_category->name;

コメントを残す