add_filter( 'wp_nav_menu_items', 'custom_menu_extras', 10, 2 );
/**
* Filter menu items to append Search form to Prmary Nav.
*
* @param string $menu HTML string of list items.
* @param object $args Menu arguments.
*
* @return string modified menu.
*/
function custom_menu_extras( $menu, $args ) {
if ( 'primary' !== $args->theme_location ) {
return $menu;
}
$extras = '<li class="menu-item search">' . get_search_form( false ) . '</li>';
return $menu . $extras;
}