【问题标题】:Disable Wordpress main menu dropdown (child menu)禁用 Wordpress 主菜单下拉菜单(子菜单)
【发布时间】:2017-04-18 20:33:18
【问题描述】:

我注意到,如果您将子页面添加到主菜单中的页面,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'          => ''
        )
    );
}

所以这是相当标准的。我在子菜单上找不到很多信息。我认为打开/关闭它是一个常见的要求。

我想我可以在 外观 > 菜单中创建一个自定义菜单,但如果可能的话我宁愿远离它,因为管理未来的附加页面可能会很痛苦?

希望有人可以提供帮助! :)

【问题讨论】:

  • 看起来您当前的菜单设置正在自动向菜单添加页面。如果您启用了自定义菜单功能,则可以通过简单的取消选中/复选框来决定是否要将以后的页面自动添加到菜单中...
  • 如果您喜欢通过主题保留它,就像您提到的那样。在上面的代码中,您有这行 'depth' => 0,这里的零表示所有级别,您可以将其设置为 1 以使其仅首页级别...
  • 谢谢,效果很好。我不知道“深度”做了什么!我决定要从主导航中隐藏“主页”链接。因此,考虑到这一点,也许可以选择自定义菜单?
  • 我已将其发布为答案,因此请您将其标记为已解决。要隐藏菜单中的任何特定链接,您可以使用 css 的 display:none,因为主页 WP 会分配特定的类,例如 .menu-item-home,因此您可以在 css 中定位它。
  • 再次感谢,已经完成! :)

标签: php wordpress wordpress-theming


【解决方案1】:

要禁用出现在菜单中的子页面,请在您的代码中将 depth =&gt; 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'          => ''
        )
    );
}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 2021-01-09
    • 2012-05-17
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 2018-11-23
    相关资源
    最近更新 更多