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. Automating Release Generation with GitHub Actions
  2. WP CLI Commands to Bulk Delete Entries in WordPress Database
  3. Split a Single CSV File into Multiple Files Using the Split Command - Bash
  4. Migrating code repo from BitBucket to GitHub
  5. Streamlining Development - Our Journey with Git, Bitbucket, and Jira

Your Questions / Comments

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