指定した親カテゴリと、親カテゴリに属する子カテゴリに属する投稿記事(single.php)に対しての条件分岐の方法をメモ。

一つのカテゴリのみに属している記事に対しての条件分岐なら

<?php if (in_category(スラッグもしくはカテゴリID)): ?>
//ここに処理内容
<?php endif; ?>

で大丈夫なのですが、
このやり方だと指定した親カテゴリに属する子カテゴリに属している場合、反映されません。
親カテゴリを指定するだけで子カテゴリに属する記事にも反映させるには、

functions.php

function post_is_in_descendant_category( $cats, $_post = null ){
   foreach ( (array) $cats as $cat ) {
         $descendants = get_term_children( (int) $cat, 'category');
          if ( $descendants && in_category( $descendants, $_post ) )
              return true;
   }
   return false;
}

と記述し、あとはsingle.php内に

<?php if ( in_category(親カテゴリIDもしくはスラッグ) || post_is_in_descendant_category(親カテゴリIDもしくはスラッグ)) {
//ここに処理内容
} ?>

とすればOK