WordPressのカテゴリのテンプレートで、属する親カテゴリに合わせて、子カテゴリの内容を切り替える関数

カテゴリ共通テンプレートの category.php にて、
小カテゴリを表示した際に、属する親カテゴリによって表示などを変更したい時に使用できます。

■function.phpに下記の関数を追加

function in_category_family( $parent ) {
if ( empty($parent) )
        return false;

    if ( in_category($parent) )
        return true;

    $parent = get_category($parent);
    foreach ( (get_the_category()) as $child ) {
        $child = get_category($child->cat_ID);
        if ( cat_is_ancestor_of($parent, $child) )
            return true;
    }

    return false;
}

■category.php の該当箇所に下記のようにif文を追加。

if ( function_exists('in_category_family') && in_category_family('親カテゴリのスラッグ') ){
	//実行内容
}

‘親カテゴリのスラッグ’の箇所は、親カテゴリのIDでもOKです。

この記事を書いた人:

ナカシマ

北区赤羽在住のWEBデザイナー兼エンジニア。インターネット、WordPress、本・漫画、音楽が大好き。妻と猫と暮らすアップル信者。

BLOG: 着ぐるみ追い剥ぎペンギン