I have problem with wp_nav_menu in wordpress. I want to make structure of Li elements, where all of them will have class \"menu-li\". But It doesn\'t work for me. I have thi
The menu_class
parameter of wp_nav_menu() controls the class added to the <ul>
wrapper element, rather than the individual <li>
's. To add classes to the menu items, you want to use the nav_menu_css_class filter.
Here's how it works (add this to your theme's functions.php
file):
add_filter ( 'nav_menu_css_class', 'so_37823371_menu_item_class', 10, 4 );
function so_37823371_menu_item_class ( $classes, $item, $args, $depth ){
$classes[] = 'menu-li';
return $classes;
}
This will add the menu-li
class to every menu item.
You can also do this conditionally based on the $item
, $args
etc. passed to this filter if you like.
If you need add class in custom menu, use next code:
add_filter('nav_menu_css_class','arg_menu_classes',110,3);
function arg_menu_classes($classes, $item, $args) {
if($args->menu == 'FooterMenu') { // name need menu
$classes[] = 'col-6 col-sm-6'; // add classes
}
return $classes;
}