WordPress-如何将自定义类添加到子菜单<ul>标签

时间:2019-06-27 15:38:45

标签: javascript wordpress

创建自定义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;
}

1 个答案:

答案 0 :(得分:3)

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

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

这将用下拉菜单替换类子菜单。返回的数组可以有多个值。因此,如果您想要子菜单中的其他课程,则可以执行以下操作:

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文件中。我希望它有助于实现您的目标!