【ワードプレス】ワードプレスで現在ページの親カテゴリIDを取得する方法

ワードプレスで現在ページの親カテゴリIDを取得する方法です。

if(! function_exists('get_category_parent_id')):
function get_category_parent_id($cat_id = FALSE)
{
    global $post;

    if(is_category()){
        $cat = get_queried_object();
    }else{
        // post_idのすべてのカテゴリを取得
        $cats = get_the_category($post->ID);
        // cat_idに指定があったら指定のカテゴリオブジェクトを取得
        if($cat_id){
            $cats = array_filter($cats, function($cat) use($cat_id){
                return ($cat->term_id == $cat_id);
            });
            $cats = array_values($cats);
        }

        if(empty($cats))
            return FALSE;

        $cat = $cats[0];
    }

    // category_parentが0ではない場合、親カテゴリIDを返す
    if($cat->category_parent){
        return $cat->category_parent;
    }else{
        return $cat->term_id;
    }
}
endif;

もう少し条件分岐をしたいところですが、今回はシンプルにしました。1カテゴリが2階層以上ある場合、何かの役立つかもしれません。

お気軽にコメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください