在该子页面的wordpress侧边栏中仅显示其子子页面?

时间:2014-01-18 15:20:19

标签: wordpress

我有一个包含多个子页面(历史,中心,员工等)的父页面(用于示例 - 关于我们)。现在很少有子页面也有子子页面。所以我的父页面的左侧边栏看起来像这样。

关于我们(家长)

  • 历史(孩子)
  • 中心(儿童)
    • 中心1(子孩子)
    • 中心2(子孩子)
  • 员工(小孩)
    • staff_name1(子孩子)
    • staff_name2(子孩子)
    • staff_name3(子孩子)

在父页面上,我希望能够在左侧边栏中仅显示其子页面而不显示任何子子页面。因此,当在Parent(About-us)页面上时,侧边栏应如下所示:

  • 历史(孩子)
  • 中心(孩子)
  • 员工(孩子)

当在子页面上时,它应仅显示左侧边栏中的子子页面,而不显示任何父级子页面。

例如,当您单击Parent(About-us)页面左侧边栏中的Center(子)页面时。它应仅显示其子页面中心页面

  • center1(子孩子)
  • center2(子孩子)

这是我的代码。请帮忙。

<?php if(is_page()){
            $ancestor = get_post_ancestors($post);

       $page = $post->ID;

            if ($post->post_parent) {
                $page = $post->post_parent;
            }

            if($post->post_parent == 0){
                $children = wp_list_pages("sort_column=menu_order&title_li=&child_of=".$page."&echo=0");

            }else if($ancestor[1]){
                $children = wp_list_pages("sort_column=menu_order&title_li=&child_of=".$ancestor[1]."&echo=0");
            }

            else if($post->post_parent){
                $children = wp_list_pages("sort_column=menu_order&title_li=&child_of=".$page."&echo=0");
            }?>

            <?php if($children){ ?>
        <nav class="add-nav">
                   <ul>
                   <?php echo $children; ?>
                   </ul>
        </nav>
            <?php }
   }?> 

0 个答案:

没有答案