所以,如果我有这个直截了当的话:
IF 我们当前正在查看顶级页面THEN 不显示任何内容
IF 我们当前正在查看子页面THEN 显示孙辈
IF 我们当前正在查看孙子页面THEN 显示孙辈
如果上述逻辑正确,我们可以使用如下内容:
$id = get_ancestor(); // Hold Top Most Page ID
<?php if($post->post_parent != 0) : /** IF we\'re NOT on a Top Level Page **/ ?>
<ul>
<?php
$parentID = ($post->post_parent == $id) ? $post->ID : $post->post_parent;
wp_list_pages("child_of=$parentID&depth=1");
?>
</ul>
<?php endif; ?>
把这个放进你的
functions.php
文件,这是一个函数,它将返回我们最顶层的页面ID。
/** Get Top Most Page ID and Return it **/
function get_ancestor(){
global $post;
$id = 0;
if(is_object($post)){
$id = $post->ID;
if($post->post_parent){
$ancestors = get_post_ancestors($post->ID);
$root = count($ancestors)-1;
$id = $ancestors[$root];
}
}
else if(is_singular(\'post\') || is_archive() || (is_home() && !is_front_page())){
$id = get_option(\'page_for_posts\');
}
return $id;
}