假设我有这个菜单:
Top
|___ Sub 1
|___ Sub Sub 1
|___ Sub Sub 2
|___ Sub Sub 3
|___ Sub Sub 4
|___ Sub 2
|___ Sub Sub 1
|___ Sub Sub 2
|___ Sub Sub 3
|___ Sub Sub 4
|___ Sub 3
|___ Sub Sub 1
|___ Sub Sub 2
|___ Sub Sub 3
|___ Sub Sub 4
|___ Sub 4
|___ Sub Sub 1
|___ Sub Sub 2
|___ Sub Sub 3
|___ Sub Sub 4
我可以使用以下命令列出该菜单: if( 0 == $post->post_parent && 0 == count( $children ) )
return;
if( 0 == $post->post_parent )
{
$child_of = $post->ID;
}
else {
$parents = get_post_ancestors( $post->ID );
$child_of = end( $parents );
}
$args = array
(
\'child_of\' => $child_of,
\'echo\' => 0,
\'title_li\' => \'\'
);
$pages = wp_list_pages( $args );
这很好,但我不想显示所有页面项目。我想要的是,只显示您所在页面的imediate子项。所以如果我在第页Top
菜单应如下所示:
Top
|___ Sub 1
|___ Sub 2
|___ Sub 3
|___ Sub 4
如果我在第页Top/Sub 3
菜单应如下所示:Top
|___ Sub 1
|___ Sub 2
|___ Sub 3
|___ Sub Sub 1
|___ Sub Sub 2
|___ Sub Sub 3
|___ Sub Sub 4
|___ Sub 4
等等,这样它就可以工作到任何深度。Rarst提出了一个nice answer 但这是在使用WordPress菜单时使用的。我正在为wp\\u list\\u pages()寻找相同的内容。寻找使用助行器或过滤器/挂钩的答案。我知道如何用CSS解决这个问题,但这并不能解决将不必要的HTML发送到浏览器的问题。