2017-04-18 181 views
0

我注意到,如果您将子页面添加到主菜单中的页面,Wordpress会自动将其放入名为.children的嵌套列表中。当在主菜单上悬停在父页面上时,会显示“下拉”菜单。禁用Wordpress主菜单下拉菜单(子菜单)

基本上,我想禁用这个,我不能在CMS内部做到这一点。我有一个菜单显示页面边栏中的子页面,所以我没有用它。

任何想法?

我父主题的functions.php有菜单设置是这样的:

function html5blank_nav() 
{ 
    wp_nav_menu(
    array(
     'theme_location' => 'header-menu', 
     'menu'   => '', 
     'container'  => 'div', 
     'container_class' => 'menu-{menu slug}-container', 
     'container_id' => '', 
     'menu_class'  => 'menu', 
     'menu_id'   => '', 
     'echo'   => true, 
     'fallback_cb'  => 'wp_page_menu', 
     'before'   => '', 
     'after'   => '', 
     'link_before'  => '', 
     'link_after'  => '', 
     'items_wrap'  => '<ul>%3$s</ul>', 
     'depth'   => 0, 
     'walker'   => '' 
     ) 
    ); 
} 

所以这是非常标准。我无法在子菜单上找到很多信息。我认为这将是一个共同的要求,它是开/关。

我想我可以创建一个自定义菜单外观>菜单但我宁愿远离那个,如果可能的话,因为它可能是一个痛苦的管理未来的额外网页?

希望有人能帮助! :)

+0

看起来您的当前菜单设置是自动将页面添加到菜单。如果您启用了自定义菜单功能,则可以通过简单的取消选中/复选框来决定是否将未来页面自动添加到菜单或不是... – Mohsin

+2

如果您喜欢通过主题保留它,如上所述。在上面的代码中,你有这行**'depth'=> 0 **,这里的零代表所有的级别,你可以将它设置为1使它成为顶级页面级别... – Mohsin

+0

谢谢,这很好。我不知道'深度'做了什么!我决定要隐藏我的主导航栏中的“主页”链接。所以,也许一个自定义菜单可能是一种方式,而不是考虑到这一点? – user1406440

回答

1

要禁用出现在菜单子页面,在你的代码,更改depth => 0为1

因此,这将成为:

function html5blank_nav() 
{ 
    wp_nav_menu(
    array(
     'theme_location' => 'header-menu', 
     'menu'   => '', 
     'container'  => 'div', 
     'container_class' => 'menu-{menu slug}-container', 
     'container_id' => '', 
     'menu_class'  => 'menu', 
     'menu_id'   => '', 
     'echo'   => true, 
     'fallback_cb'  => 'wp_page_menu', 
     'before'   => '', 
     'after'   => '', 
     'link_before'  => '', 
     'link_after'  => '', 
     'items_wrap'  => '<ul>%3$s</ul>', 

'深度'=> 1,

 'walker'   => '' 
     ) 
    ); 
} 

它将页面限制为只有顶层页面,子页面被忽略而不是广告代码自动生成菜单。