Wordpress 仅显示子页面及其子页面

Wordpress 仅显示子页面及其子页面,wordpress,menu,Wordpress,Menu,我正在做一个主题,我被困在菜单上。该网站有几个子页面,这些页面有子页面。我想实现的是,当您单击子页面时,它会显示一个菜单,其中包含子页面及其子页面 主页 关于 事件 -事件1 -事件2 --地点 --食物 --音乐 -事件3 联系方式 我想要的是,当我点击事件2时,它只显示事件2及其子事件,而不显示事件2的兄弟事件 我的当前解决方案显示所有子页面,即事件1、事件3。请在下面找到我的代码 <?php // find parent of current page if ($post->p

我正在做一个主题,我被困在菜单上。该网站有几个子页面,这些页面有子页面。我想实现的是,当您单击子页面时,它会显示一个菜单,其中包含子页面及其子页面

主页
关于
事件
-事件1
-事件2
--地点
--食物
--音乐
-事件3
联系方式

我想要的是,当我点击事件2时,它只显示事件2及其子事件,而不显示事件2的兄弟事件

我的当前解决方案显示所有子页面,即事件1、事件3。请在下面找到我的代码

<?php
// find parent of current page
if ($post->post_parent) {
   $ancestors = get_post_ancestors($post->ID);
   $parent = $ancestors[count($ancestors) - 1];
} else {
   $parent = $post->ID;
}

$children = wp_list_pages("title_li=&depth=2&child_of=" . $parent . "&echo=0");

if ($children) { ?>

  <ul class="list-children">
      <?php echo $children; ?>
  </ul>

<?php } ?>


您不需要获取父级。如果您想获取“事件2”的子级,那么它将是父级-您不想首先获取其父级。您还需要将
深度设置为1,以仅返回1级

// assuming that $post == "Event 2"
$args = array(
    'child_of'    => $post->ID,
    'post_status' => 'publish'
    'depth'       => 1,
    'title_li'    => ''
    'echo'        => false
)
$children = wp_list_pages( $args );