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.

Need Help?

Do you need any help on WordPress? I'm happy to help you.

Contact Me

Recent Posts

  1. Get variation product data on selecting variation options - WooCommerce
  2. Add TinyMCE WYSIWYG (Rich text area) meta box - WordPress
  3. Reorder product tabs in single product page - WooCommerce
  4. Download webpage for offline reading - wget
  5. Remove product tabs in single product page - WooCommerce

Your Questions / Comments

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