如何检查页面是否是Wordpress中另一个页面的直接或间接子页面?

时间:2014-04-25 05:45:08

标签: php wordpress

我有一个ID为63的页面。该页面有许多子页面,每个子页面都有子页面。在id为63的短页中,所有页面都是超级父级。

我想要的是,我想检查当前页面是否是ID为63的页面的子项。可以是直接孩子/孩子的任何级别。

我可以检查该页面是否是第63页的子项。但是无法检查子页面的子项是否相同。

我正在使用$post->post_parent == 63来检查该网页是否是第63页的孩子。

如何检查所有级别的页面?

2 个答案:

答案 0 :(得分:2)

您可以像这样使用get_post_ancestors()

$parents = get_post_ancestors($post);
 foreach($parents as $page_id){
    if($page_id == ID of specific parent page){

    // Do something

    break; //Match found, no need to keep checking
    }
 }

答案 1 :(得分:1)

    $pageId= get_the_ID(); 
    function get_topmost_parent($post_id)
    {
        $parent_id = get_post($post_id)->post_parent;
        if($parent_id == 0)
        {
            return $post_id;
        }
        else
        {
            return get_topmost_parent($parent_id);
        }
    }
相关问题