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.
Looking for a skilled WordPress/WooCommerce developer? I'm currently available for freelance, contract, or full-time remote opportunities! Let's create something amazing together. Send me a quick message, and I'll respond within 24 hours!
Recent Posts
- Scaling WordPress - How Custom Database Tables Solve the Post Meta Bottleneck
- WordPress Transients Explained - A Developer's Guide to Site Performance
- Behind the Click - The Hidden Journey of Your Web Requests
- Automating Code Linting with GitHub Actions for WordPress Plugins
- Comprehensive Guide to Linting PHP, JavaScript, and CSS in WordPress Plugins Using Composer
Your Questions / Comments
If you found this article interesting, found errors, or just want to discuss about it, please get in touch.