我创建了一个递归函数来确定当前页面是否是页面树中页面的子页面。
我的功能:
function is_ancestor_of( $page_name = null, $post ) {
if(is_null($page_name))
return false;
// does it have a parent?
if (!isset( $post->post_parent ) OR $post->post_parent <= 0 )
return false;
//Get parent page
$parent = wp_get_single_post($post->post_parent);
if ( $parent->post_name == $page_name ){
echo $parent->post_name.' - '.$page_name;
return true;
} else {
is_ancestor_of( $page_name, $parent );
}
}
这是我正在测试的代码:
$is_parent = is_ancestor_of( 'account', $post );
if(!$is_parent) {
echo '<br/> No match';
}
这是结果:
帐户 - 帐户
不匹配
这表明它确实找到了一个名为“帐户”的父页面,但它没有返回任何数据。我也测试过返回一个字符串,但这也不起作用。
谁能看到我做错了什么?