Sarathlal N

Add a search form in WordPress navigation menu

To add a search form in WordPress navigation menu, we want to hook it into the wp_nav_menu_items filter as a menu item.

We just want to add few lines of code in our theme’s / child theme’s functions.php file.

add_filter( 'wp_nav_menu_items','add_search_box', 10, 2 );
function add_search_box( $items, $args ) {
 $items .= '<li>' . get_search_form( false ) . '</li>';
 return $items;
}

This code snippet will add WordPress default search form in our navigation menu.

If we have multiple WordPress menus, we can specify the menu we want to add a search form in this function.

add_filter( 'wp_nav_menu_items','add_search_box', 10, 2 );
function add_search_box( $items, $args ) {
 if ( 'primary' == $args->theme_location )
 $items .= '<li>' . get_search_form( false ) . '</li>';

 return $items;
}

Now the search form will only be displayed in the menu theme location named as primary.

Recent Posts

  1. Remove edit, view, trash and quick edit links within posts list of admin screen - WordPress
  2. PHP Errors not displaying or not logging - LAMP server - Solved
  3. Display all hooks sequentialy that run on a page - WordPress
  4. Get downloadable files of a downloadable product - WooCoomerce
  5. Add actions based on WooCoomerce order status

Your Questions / Comments

If you found this article interesting, found errors, or just want to discuss about them, please get in touch.