apply_filters( 'nav_menu_css_class', string[] $classes , WP_Post $menu_item , stdClass $args , int $depth )
Filters the CSS classes applied to a menu item’s list item element.
Parameters
- $classes
-
(string[]) Array of the CSS classes that are applied to the menu item's
<li>
element. - $menu_item
-
(WP_Post) The current menu item object.
- $args
-
(stdClass) An object of wp_nav_menu() arguments.
- $depth
-
(int) Depth of menu item. Used for padding.
More Information
This filter hook called by the WordPress Walker_Nav_Menu class.
Usage in WP 3.0 / 3.1+ / 4.1+:
<?php /* WP 3.0+ */ function filter_handler( $classes , $item ) { ...... } add_filter( 'nav_menu_css_class', 'filter_handler', 10, 2 ); /* WP 3.1+ */ function filter_handler( $classes , $item, $args ) { ...... } add_filter( 'nav_menu_css_class', 'filter_handler', 10, 3 ); /* WP 4.1+ */ function filter_handler( $classes, $item, $args, $depth ) { ...... } add_filter( 'nav_menu_css_class', 'filter_handler', 10, 4 ); ?>
Source
Changelog
Version | Description |
---|---|
4.1.0 | The $depth parameter was added. |
3.0.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Apply classes to a specific menu (theme location). WordPress 4.1 or higher.
Basic Usage:
Example code migrated from Codex:
You can use information from the
$args
parameter to conditionally filter classes based on properties of the menu that contains the items.Example migrated from Codex:
The following example adds a unique CSS class to a single, specific nav menu item.
This example adds the menu items title (slug) as a class to every menu item.