Reputation: 379
I would like to give a class name to the sub menus of my navigation.
This is what I have so far:
<?php
$defaults = array(
'theme_location' => '',
'menu' => 'main-menu',
'container' => 'div',
'container_class' => '',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'depth' => 0,
'walker' => ''
);
wp_nav_menu( $defaults );
?>
How can I do this?
Upvotes: 0
Views: 43
Reputation: 1843
You need to add a filter to 'nav_menu_css_class'.
Put the following in your theme's functions.php file:
add_filter( 'nav_menu_css_class', 'my_sub_menu_class', 10, 2 );
function my_sub_menu_class( $classes, $item ) {
if ( $item->post_parent ) {
$classes[] = 'your_class_name';
}
return $classes;
}
Upvotes: 1