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.

Got a project in mind? Send me a quick message, and I'll get back to you within 24 hours!.

Recent Posts

  1. A Guide to Configuring JavaScript and SCSS Paths in WordPress Plugins with @wordpress/scripts
  2. Disabling Payment Methods in WooCommerce Based on Conditions
  3. How to Update Product Quantity in WooCommerce Using Custom Code
  4. Dynamically Generating a Table of Contents in WordPress
  5. Direct Checkout in WooCommerce - Add Product to Cart from Checkout Page & Skip Shop, Product, and Cart Pages

Your Questions / Comments

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