禁用Wordpress主菜单下拉菜单(子菜单)

时间:2017-04-18 10:46:18

标签: php wordpress wordpress-theming

我注意到如果在主菜单中将子页面添加到页面中,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;中创建自定义菜单菜单但是如果可能的话我宁愿远离它,因为管理未来的其他页面可能会很痛苦?

希望有人可以帮忙! :)

1 个答案:

答案 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'          => ''
        )
    );
}

它仅限页面到顶级页面,子页面被忽略,不会添加到自动菜单生成。