The install_theme_search_form() WordPress PHP function displays a search form for searching themes in the WordPress theme directory.
Usage
install_theme_search_form( $type_selector );
Example:
install_theme_search_form( true );
Parameters
$type_selector
(bool) (Optional) – Whether to display the theme type selector (default: true).
More information
See WordPress Developer Resources: install_theme_search_form
Examples
Display theme search form with type selector
This code displays the theme search form with the type selector (default behavior).
install_theme_search_form();
Display theme search form without type selector
This code displays the theme search form without the type selector.
install_theme_search_form( false );
Add the theme search form to a custom page
This code snippet adds the theme search form to a custom page with a slug ‘theme-search’.
add_shortcode( 'theme_search_form', 'display_theme_search_form' ); function display_theme_search_form() { ob_start(); install_theme_search_form(); return ob_get_clean(); }
Then, you can add the [theme_search_form]
shortcode to the content of your ‘theme-search’ page.
Display theme search form in a widget
This code creates a custom widget that displays the theme search form.
class Theme_Search_Form_Widget extends WP_Widget { public function __construct() { parent::__construct( 'theme_search_form_widget', 'Theme Search Form', array( 'description' => 'A widget for displaying the theme search form' ) ); } public function widget( $args, $instance ) { echo $args['before_widget']; install_theme_search_form(); echo $args['after_widget']; } } function register_theme_search_form_widget() { register_widget( 'Theme_Search_Form_Widget' ); } add_action( 'widgets_init', 'register_theme_search_form_widget' );
Display theme search form in a menu
This code adds the theme search form to a navigation menu.
function add_theme_search_form_to_nav_menu( $items, $args ) { if ( $args->theme_location == 'primary' ) { $items .= '<li class="menu-item theme-search-form">'; $items .= install_theme_search_form(); $items .= '</li>'; } return $items; } add_filter( 'wp_nav_menu_items', 'add_theme_search_form_to_nav_menu', 10, 2 );
Replace ‘primary’ with your theme’s specific menu location.