Skip to content

Instantly share code, notes, and snippets.

Last active June 3, 2020 08:07
What would you like to do?
Modify the nav extras.
//* Do NOT include the opening php tag shown above. Copy the code shown below.
add_filter( 'wp_nav_menu_items', 'theme_menu_extras', 10, 2 );
* Filter menu items, appending either a search form or today's date.
* @param string $menu HTML string of list items.
* @param stdClass $args Menu arguments.
* @return string Amended HTML string of list items.
function theme_menu_extras( $menu, $args ) {
//* Change 'primary' to 'secondary' to add extras to the secondary navigation menu
if ( 'primary' !== $args->theme_location )
return $menu;
//* Uncomment this block to add a search form to the navigation menu
$search = ob_get_clean();
$menu .= '<li class="right search">' . $search . '</li>';
//* Uncomment this block to add the date to the navigation menu
$menu .= '<li class="right date">' . date_i18n( get_option( 'date_format' ) ) . '</li>';
return $menu;
Copy link

There is some broken looking output buffering in the commented section of code.

Copy link

As far as I can tell, changing 'primary' to 'secondary' in order to add some extras into the secondary navigation does not work. Anyone else verify this?

Copy link

Based on my usage of this code in many different genesis child themes, you may not need to use output buffering. Also, the CSS to align/position the search form may vary per theme. You can also use this code with any custom menu as long as you swap out the name of menu location with the custom name of your menu.

Copy link

Where to add the nav-extras.php file in Genesis or theme file like eleven 40 . Also As of now I have added it in genesis files but not able to see anyhting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment