子ページ判別その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
となり、親子まとめて分岐させることができる。