我有一个ID为63的页面。该页面有许多子页面,每个子页面都有子页面。在id为63的短页中,所有页面都是超级父级。
我想要的是,我想检查当前页面是否是ID为63的页面的子项。可以是直接孩子/孩子的任何级别。
我可以检查该页面是否是第63页的子项。但是无法检查子页面的子项是否相同。
我正在使用$post->post_parent == 63
来检查该网页是否是第63页的孩子。
如何检查所有级别的页面?
答案 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);
}
}