ちょっと状況説明が難しいのだけど、
特定のカテゴリーを親カテゴリーにもつ「カテゴリーアーカイブ」と「エントリー」のみ表示を変えたいときの判定。
カテゴリーアーカイブの場合
<?php //現ページのカテゴリーIDを取得 - get_query_var('cat')で現在表示しているカテゴリーアーカイブのIDが返ってくる。 $category_currentID = get_query_var('cat'); //カテゴリーIDからカテゴリー情報を取得 - get_categoryにカテゴリーIDを渡して該当カテゴリの情報を取得 $category_current = get_category($category_currentID); //親カテゴリのIDを取得 - ->category_parentで親カテゴリの存在確認(親がなければ0が帰る) $category_parentID = $category_current->category_parent; //もし親カテゴリがあれば if ($category_parentID !== '0' ) { //get_categoryに親カテゴリのIDを渡して、親カテゴリの情報を取得 $category_parent = get_category($category_parentID); if ($category_parent->slug === '親カテゴリー「〜」のスラッグ名') { echo '親カテゴリーが「〜」の場合の表示処理'; } else { echo '通常処理'; } } else { echo '通常処理'; } ?>
エントリーの場合 (エントリーでの重複カテゴリーは考慮してないよ)
<?php //現ページのカテゴリー情報を取得 $category_current = get_the_category(); //親カテゴリのIDを取得、エントリーの場合はget_the_categoryが多次元配列になっているので[0]つける $category_parentID = $category_current[0]->category_parent; //もし親カテゴリがあれば if ($category_parentID !== '0' ) { //get_categoryに親カテゴリのIDを渡して、親カテゴリの情報を取得 $category_parent = get_category($category_parentID); if ($category_parent->slug === '親カテゴリー「〜」のスラッグ名') { echo '親カテゴリーが「〜」の場合の表示処理'; } else { echo '通常処理'; } } else { echo '通常処理'; } ?>