正如标题所暗示的那样,我试图找出某个页面是否有另一页作为父母或大父母或曾祖母等...
要检查父案例,以下工作
if (1 == $post->post_parent) {
但在检查祖先时
if (1 == $post->post_ancestor) {
似乎不起作用。
有什么想法吗?
由于
答案 0 :(得分:1)
没有内置的支持,但你可以使用这个帮助函数,只需将它放在你的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
}
答案 1 :(得分:1)
除了“忍者”提供的功能外,还要注意您的情况不正确:“post_parent”包含父页面的ID,如果当前页面是父页面,则为0。
因此询问页面是否有父级的实际情况是:
if($page->post_parent != 0)
// page has a parent
else
// page is a parent