Wordpress 如何将自己的类添加到WP Nav菜单

Wordpress 如何将自己的类添加到WP Nav菜单,wordpress,submenu,Wordpress,Submenu,我已经知道如何将自己的类添加到Wordpress菜单或通过以下方式到达子菜单的父级li: function my_nav_special_class($classes, $item){ if(in_array('current-menu-ancestor', $classes)){ $classes[] = 'my_class'; } return $classes; } add_filter('nav_menu_css_class' , 'my_nav_

我已经知道如何将自己的类添加到Wordpress菜单或通过以下方式到达子菜单的父级li:

function my_nav_special_class($classes, $item){
    if(in_array('current-menu-ancestor', $classes)){
        $classes[] = 'my_class';
    }
    return $classes;
}
add_filter('nav_menu_css_class' , 'my_nav_special_class' , 10 , 2);
但我不知道如何只针对子菜单项。如果这个类是项目标题的slug名称,那就太好了,但简单的类也很好…

您必须使用它,它用于遍历所有菜单项

$depth—项目的当前级别(第一个级别计为0)

$item-保存项的所有数据的对象

// header.php
wp_nav_menu( array( 'theme_location' => 'primary', 'walker' => new my_walker_nav_menu() ) );

// functions.php
class my_walker_nav_menu extends Walker_Nav_Menu {
    function start_el( &$output, $item, $depth, $args ) {
        if ( $depth == 1 ) {
            $item->classes[] = 'my_class';
        }
        parent::start_el($output, $item, $depth, $args);  
    }
}

上面的示例将
my_class
添加到所有子菜单li项中,但通过这种方式,您可以更改任何您想要的内容。

很抱歉回复太晚。你的代码工作得很好!谢谢你的帮助:)