TAGWordPress
特定の親カテゴリとその子カテゴリに属している投稿ページのデザインを変える:WordPress
指定した親カテゴリと、親カテゴリに属する子カテゴリに属する投稿記事(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
WordPressのおすすめ参考書
bookfan 1号店 楽天市場店
¥3,300 (2024/03/26 18:51時点 | 楽天市場調べ)
ポチップ
ポチップ