显示父页面的子项,包括所有其他父项

时间:2015-02-02 作者:Zaher

我正在尝试在WP Menu backend中指定的菜单上显示,但是如何在不隐藏其余内容的情况下加载父页的子级。

实例

主-1主-2主-3

单击Main-1时应显示

Main-1
---Sub-1
---Sub-2
Main-2
Main-3

    <?php if (has_nav_menu( \'secondary\' )) { 
    wp_nav_menu( array(
    \'container\'         => \'\', 
    \'container_class\'   => \'\', 
    \'menu_class\'        => \'\', 
    \'menu_id\'           => \'menu-header-menu\', 
    \'fallback_cb\'       => \'wp_page_menu\',
    \'items_wrap\'        => \'<ul id="%1$s">%3$s</ul>\',
    \'sort_column\'       => \'menu_order\', 
    \'theme_location\'    => \'secondary\' ) );
}
这是我使用的主要代码

1 个回复
最合适的回答,由SO网友:Mayeenul Islam 整理而成

\'depth\'=>-1 将显示所有级别(source^):

$depth
(整数)(可选)要包括多少层次,其中0 表示全部。-1 以任意深度显示链接,并将其排列在单个平面列表中
默认值:0

因此,您的代码将是:

<?php if (has_nav_menu( \'secondary\' )) { 
    wp_nav_menu( array(
    \'container\'         => \'\', 
    \'menu_class\'        => \'\', 
    \'menu_id\'           => \'menu-header-menu\', 
    \'items_wrap\'        => \'<ul id="%1$s">%3$s</ul>\',
    \'depth\'             => -1,
    \'theme_location\'    => \'secondary\' ) );
}
以及DRY - Don\'t Repeat Yourself. 作为的默认值fallback_cbwp_page_menu, 你不需要重复。因此container_class. 没有这样的sort_column 中的参数wp_nav_menu().

编辑您必须将

register_nav_menus( array( \'secondary\'=>__(\'Secondary Menu\', \'text-domain\') ) );
在您的functions.php 注册导航菜单,以便您可以将菜单分配到此位置。即使您从外观»菜单创建新菜单,如果您没有将其分配到所需的位置,则无法将其启用到该位置。

结束

相关推荐

Count > 1 Navigation Slider

我有一个帖子类型slider, 当您有多个帖子要显示导航时。我的代码:<?php $count_slider = wp_count_posts(\'slider\'); echo $count_slider->publish; ?> <?php if($count_slider > 1): ?> <div id=\"slideshowcontrol\" class=\"clearfi