Filters the HTML list content for navigation menus.
Description
See also
Parameters
$itemsstring- The HTML list content for the menu items.
$argsstdClass- An object containing wp_nav_menu() arguments.
More Arguments from wp_nav_menu( … $args )
Array of nav menu arguments.
menuint|string|WP_TermDesired menu. Accepts a menu ID, slug, name, or object.
menu_classstringCSS class to use for the ul element which forms the menu.
Default'menu'.menu_idstringThe ID that is applied to the ul element which forms the menu.
Default is the menu slug, incremented.containerstringWhether to wrap the ul, and what to wrap it with.
Default'div'.container_classstringClass that is applied to the container.
Default ‘menu-{menu slug}-container’.container_idstringThe ID that is applied to the container.container_aria_labelstringThe aria-label attribute that is applied to the container when it’s a nav element.fallback_cbcallable|falseIf the menu doesn’t exist, a callback function will fire.
Default is'wp_page_menu'. Set to false for no fallback.beforestringText before the link markup.afterstringText after the link markup.link_beforestringText before the link text.link_afterstringText after the link text.echoboolWhether to echo the menu or return it. Default true.depthintHow many levels of the hierarchy are to be included.
0 means all. Default 0.
Default 0.walkerobjectInstance of a custom walker class.theme_locationstringTheme location to be used. Must be registered with register_nav_menu() in order to be selectable by the user.items_wrapstringHow the list items should be wrapped. Uses printf() format with numbered placeholders. Default is a ul with an id and class.item_spacingstringWhether to preserve whitespace within the menu’s HTML.
Accepts'preserve'or'discard'. Default'preserve'.
Source
$items = apply_filters( 'wp_nav_menu_items', $items, $args );
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |
Add HTML5 search form to a menu
Add this code to functions.php. You can completely modify the output, and style the form as you want.
Please, don’t forget to replace the theme_location !
For example, if the id of my menu was main-menu, I would write
if( $args->theme_location == 'main-menu' )Hope this will help.
get_search_form()function like this:$items .= get_search_form( false );The false parameter is the echo. False return the markup as you can see in the docs of the function itselfAdd extra menu item to a WordPress Nav Menu
Using this code snippet, one can add an additional menu item to the end of a WordPress navigation menu. For example, here in this case I am adding a WooCommerce Login/Register link when a user is not logged in, and a My Account page link when a user is logged in.
How to use the above code?
Hope this helps someone :)
Used the following snippet to add a user avatar image as the last menu item. Had to use
$args->menu==='main-menu'rather than'primary'or id, as other examples did. Found this out finally by printing out$args->menuto the navbar, to see what that argument actually was.