タイトルが示すように、特定のページに別のページが親または祖父母または曽祖父母などとしてあるかどうかを調べようとしています...
親ケースを確認するには、次のように動作します
if (1 == $post->post_parent) {
しかし、祖先をチェックするとき
if (1 == $post->post_ancestor) {
動作しないようです。
何か案は?
ありがとう
タイトルが示すように、特定のページに別のページが親または祖父母または曽祖父母などとしてあるかどうかを調べようとしています...
親ケースを確認するには、次のように動作します
if (1 == $post->post_parent) {
しかし、祖先をチェックするとき
if (1 == $post->post_ancestor) {
動作しないようです。
何か案は?
ありがとう
これに対する組み込みのサポートはありませんが、このヘルパー関数を使用できます。functions.phpに配置するだけです。
function get_ancestor() {
global $post;
if ($post->post_parent) {
    $ancestors=get_post_ancestors($post->ID);
    $root=count($ancestors)-1;
    $parent = $ancestors[$root];
} else {
    $parent = $post->ID;
}
    return $parent;
}
祖先である投稿のIDが返されるため、次のように使用できます。
if(1 == get_ancestor()) {
    // Code here
}
「ninja」が提供する機能に加えて、条件が正しくないことにも注意してください。「post_parent」には親ページの ID が含まれているか、現在のページが親ページの場合は 0 が含まれています。
したがって、ページに親があるかどうかを尋ねる実際の条件は次のとおりです。
if($page->post_parent != 0)
    // page has a parent
else
    // page is a parent