nav_menu_css_class

Filters the CSS class(es) applied to a menu item's list item element.

Description

apply_filters( 'nav_menu_css_class', (array) $array, (WP_Post) $item, (stdClass) $args, (int) $depth ); 

Parameters (4)

0. $array (array) => array_filter( $classes )
The CSS classes that are applied to the menu item's
  • element.
  • 1. $item (WP_Post)
    The current menu item.
    2. $args (stdClass)
    An object of wp_nav_menu() arguments.
    3. $depth (int)
    Depth of menu item. Used for padding.

    Usage

    To run the hook, copy the example below.
    1. $array = apply_filters( 'nav_menu_css_class', $array, $item, $args, $depth ); 
    2.  
    3. if ( !empty( $array ) ) { 
    4.  
    5. // everything has led up to this point... 
    6.  
    7.  
    The following example is for adding a hook callback.
    1. // define the nav_menu_css_class callback 
    2. function filter_nav_menu_css_class( $array, $item, $args, $depth ) { 
    3. // make filter magic happen here... 
    4. return $array
    5. }; 
    6.  
    7. // add the filter 
    8. add_filter( 'nav_menu_css_class', 'filter_nav_menu_css_class', 10, 4 ); 
    To remove a hook callback, use the example below.
    1. // remove the filter 
    2. remove_filter( 'nav_menu_css_class', 'filter_nav_menu_css_class', 10, 4 ); 

    Defined (1)

    The filter is defined in the following location(s).

    /wp-includes/class-walker-nav-menu.php  
    1. $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ) );