是否有任何函数可以在 <a> <li> wp_nav_menu() 的 & 标签十进制中包含类?


'header_menu','menu_class'=>'navbar-nav','container'=>'div',"container_class"=>"导航栏折叠折叠内容中心",'container_id'=>'navbarDefault','深度'=>2,));?>

否,您需要在此处创建自己的菜单类来完成此操作;

https://code.tutsplus.com/tutorials/understanding-the-walker-class--wp-25401https://wordpress.stackexchange.com/questions/248369/how-to-create-this-custom-menu-walker

https://developer.wordpress.org/reference/classes/walker/

通过这种方式,您可以根据需要编辑和创建菜单。

注意:您可以通过wordpress面板中的菜单添加类,但您需要手动添加到所有类中。

您可以通过'nav_menu_css_class'过滤器:

function wpdocs_special_nav_class( $classes, $item ) {
// Apply specific class: .special-class
$classes[] = "special-class";
return $classes;
}
add_filter( 'nav_menu_css_class' , 'wpdocs_special_nav_class' , 10, 2 );

参考文献:

使用WordPress过滤器将自定义CSS类添加到wp_nav_menu的HTML输出中

Codex

/**
* Add class to the li element on a menu.
*
* @param $classes
* @param $item
* @param $args
*
* @return array
*/
function add_classes_on_li( $classes, $item, $args ) {
if( 'primary' === $args->theme_location ) {
$classes[] = 'nav-item';
}
if( 'secondary' === $args->theme_location ) {
$classes[] = 'nav-item';
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'add_classes_on_li', 1, 3 );
/**
* Add class to primary menu anchors.
*
* @param $atts
* @param $item
* @param $args
* @param $depth
*
* @return array
*/
function add_class_to_primary_menu_anchors( $atts, $item, $args, $depth ) {
if( 'primary' === $args->theme_location ) {
$atts['class'] = 'nav-link';
}
return $atts;
}
add_filter( 'nav_menu_link_attributes', 'add_class_to_primary_menu_anchors', 10, 4 );

最新更新