Skip to content

Instantly share code, notes, and snippets.

@studiopress
Last active September 11, 2023 21:24
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save studiopress/f9729e9f10ddcd0a832a to your computer and use it in GitHub Desktop.
Save studiopress/f9729e9f10ddcd0a832a to your computer and use it in GitHub Desktop.
Modify the nav extras.
<?php
//* 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
/*
ob_start();
get_search_form();
$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;
}
@ryanhellyer
Copy link

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

@AndrewSepic
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?

@braddalton
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.

@maigaston
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