子ページ判別その2
is_subpage()ではなくもう1個。
is_subpage()は、子ページかどうかを判断するもの。
is_tree()は親ページ・およびその親に属する子ページが判定される。
functions.phpに以下記載する。
function is_tree( $pid ) { // $pid = 指定したページの ID global $post; // $post に現在の固定ページの情報をロード if ( is_page($pid) ) return true; // その固定ページまたはサブページの場合 $anc = get_post_ancestors( $post->ID ); foreach ( $anc as $ancestor ) { if( is_page() && $ancestor == $pid ) { return true; } } return false; // その固定ページではない、または親ページではない場合 }
is_tree('2')と記述した場合、
ID 2 →true
親ページのIDが2の子ページ →true
となり、親子まとめて分岐させることができる。