仅显示子页面及其子页面

时间:2015-11-06 15:41:42

标签: wordpress menu

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

主页
关于
活动
- 活动1
- 活动2
--Venue
--Food
--Music
- 活动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 } ?>

1 个答案:

答案 0 :(得分:0)

您不需要获取父级。如果你想得到“事件2”的孩子,那么它将是父母 - 你不想先获取它的父母。您还需要将depth设置为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 );