我注意到如果在主菜单中将子页面添加到页面中,Wordpress会自动放入名为.children
的嵌套列表中。当鼠标悬停在主菜单的父页面上时,会显示“下拉菜单”。
基本上,我想禁用它,我无法在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' => ''
)
);
}
所以它很标准。我在子菜单上找不到很多信息。我认为开启/关闭它是一个常见的要求。
我想我可以在外观&gt;中创建自定义菜单菜单但是如果可能的话我宁愿远离它,因为管理未来的其他页面可能会很痛苦?
希望有人可以帮忙! :)
答案 0 :(得分:2)
要禁用显示在菜单中的子页面,请在代码中将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>',
'depth'=&gt; 1,
'walker' => ''
)
);
}
它仅限页面到顶级页面,子页面被忽略,不会添加到自动菜单生成。