【问题标题】:WordPress - How to add custom class to submenu <ul> tagsWordPress - 如何将自定义类添加到子菜单 <ul> 标签
【发布时间】:2019-06-28 02:17:35
【问题描述】:

在创建自定义 WordPress 菜单并删除子菜单类时,会重新添加默认值,因此我只需要用我自己的类覆盖它们。以下是用于删除子菜单类同时仅向主要导航链接添加自定义类的功能。

//Add Custom Class to Navigation <a> Tags
add_filter( 'nav_menu_link_attributes', 'add_class_anchor_nav_primary', 10, 3 );
function add_class_anchor_nav_primary( $atts, $item, $args ) {
    if ( (int) $item->menu_item_parent === 0 ) {
        $class         = 'dropdown submenu';
        $atts['class'] = $class;
    }

    return $atts;
}

【问题讨论】:

    标签: javascript wordpress


    【解决方案1】:

    因此,要修改子菜单的类别,您有 2 个选项。第一个是使用 WordPress 使用的 Walker 来生成菜单。还有我更喜欢的解决方案二:

    add_action('nav_menu_submenu_css_class', 'custom_submenu_css_class');
    function custom_submenu_css_class() {
        return array('dropdown-menu');
    }
    

    这将用下拉菜单替换类子菜单。 get 返回的数组可以有多个值。所以如果你想在你的子菜单中加入另一个类,你可以这样做:

    add_action('nav_menu_submenu_css_class', 'custom_submenu_css_class');
    function custom_submenu_css_class() {
        return array('class-1', 'class-2', 'class-3');
    }
    

    将此添加到您的 functions.php 文件中。我希望它有助于您实现目标!

    【讨论】:

    • 这个措辞令人困惑,如果您显示解决方案 #1 或更改答案的布局以明确您没有显示解决方案 #1,那就太好了
    猜你喜欢
    • 2016-07-10
    • 2018-07-15
    • 2013-12-11
    • 2012-10-24
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多