apply_filters( "nav_menu_link_attributes", array $atts, WP_Post $menu_item, stdClass $args, int $depth )

Filters the HTML attributes applied to a menu item’s anchor element.




The HTML attributes applied to the menu item"s <a> element, empty strings are ignored.

title stringTitle attribute.

target stringTarget attribute.

rel stringThe rel attribute.

href stringThe href attribute.

aria-current stringThe aria-current attribute.



The current menu item object.



An object of wp_nav_menu() arguments.

More Arguments from wp_nav_menu( ... $args )

Array of nav menu arguments.

menu int|string|WP_TermDesired menu. Accepts a menu ID, slug, name, or object.

menu_class stringCSS class to use for the ul element which forms the menu.

Default "menu".

menu_id stringThe ID that is applied to the ul element which forms the menu.

Default is the menu slug, incremented.

container stringWhether to wrap the ul, and what to wrap it with.

Default "div".

container_class stringClass that is applied to the container.

Default "menu-{menu slug}-container".

container_id stringThe ID that is applied to the container.

container_aria_label stringThe aria-label attribute that is applied to the container when it"s a nav element.

fallback_cb callable|falseIf the menu doesn"t exist, a callback function will fire.

Default is "wp_page_menu". Set to false for no fallback.

before stringText before the link markup.

after stringText after the link markup.

link_before stringText before the link text.

link_after stringText after the link text.

echo boolWhether to echo the menu or return it. Default true.

depth intHow many levels of the hierarchy are to be included.

0 means all. Default 0.

Default 0.

walker objectInstance of a custom walker class.

theme_location stringTheme location to be used. Must be registered with register_nav_menu() in order to be selectable by the user.

items_wrap stringHow the list items should be wrapped. Uses printf() format with numbered placeholders. Default is a ul with an id and class.

item_spacing stringWhether to preserve whitespace within the menu"s HTML.

Accepts "preserve" or "discard". Default "preserve".



Depth of menu item. Used for padding.


File: wp-includes/class-walker-nav-menu.php.

View all references

$atts = apply_filters( "nav_menu_link_attributes", $atts, $menu_item, $args, $depth );

More Information

The filter permits full control over what HTML attributes are added to menus generated with the WP Menu API.

This filter runs per nav item, vs providing a list of all nav elements at once.

Note that the callback function must return a value after it is finished processing or the result will be empty.

Leave a Reply

Your email address will not be published. Required fields are marked *