Skip to content

Instantly share code, notes, and snippets.

@galengidman
Last active September 26, 2021 16:45
Show Gist options
  • Star 13 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save galengidman/8b84770a2dcc9abb8bfe to your computer and use it in GitHub Desktop.
Save galengidman/8b84770a2dcc9abb8bfe to your computer and use it in GitHub Desktop.
WordPress search form & results for custom post type
<?php
// check to see if there is a post type in the URL
if ( isset( $_GET['post_type'] ) && $_GET['post_type'] ) {
// save it for later
$post_type = $_GET['post_type'];
// check to see if a search template exists
if ( locate_template( 'search-' . $post_type . '.php' ) ) {
// load it and exit
get_template_part( 'search', $post_type );
exit;
}
}
?>
<!-- default search results here -->
<form class="search" action="<?php echo home_url( '/' ); ?>">
<input type="search" name="s" placeholder="Search&hellip;">
<input type="submit" value="Search">
<input type="hidden" name="post_type" value="kb_article">
</form>
@ZaheerAbbasAghani
Copy link

but how can i show form in frontend ???

@wattswing
Copy link

@ZaheerAghani :
You can use get_search_form() function.
From codex : it will render your searchform.php template file.

@ZaheerAbbasAghani
Copy link

I mean how can i display search results ?

@storiediweb
Copy link

It's a clean solution and works perfectly, thank you!

@normanaranez
Copy link

How to add it on the wordpress theme? am i going to add it on the function.php? how?

@YuvrajKhavad
Copy link

Hello @galengidman

Your solutions working perfect thanks.

@junaidtk
Copy link

junaidtk commented Oct 1, 2019

How the Wordpress search form submission works. What is the method in the form tag of the search form ? is it must be get method ?

@galengidman
Copy link
Author

@junaidtk Yes, it must be a ?s=[search query] GET request to the root of the site.

@junaidtk
Copy link

junaidtk commented Oct 3, 2019

I am using the woo-commerce plugin. On my product page, I am using the additional product field with name S. so if we are submitting the add to cart form, it goes to the 404 pages. I hope it is submitting the search form due to the name of the field S.
If we change the field name to any other value, it is working fine and doesn't go to the 404.
The attached is the screenshot after clicking the add to cart button while placing the name as S

404error

@galengidman
Copy link
Author

@junaidtk That's probably the issue. I would see if I could change name value on the product field.

@junaidtk
Copy link

junaidtk commented Oct 8, 2019

@galengidman, Thanks for the update. We can add the additional fields in add to cart form of product page by using the hooks available in the add to cart form. Also I am still checking the ways to solve this.

@suresh-dunga
Copy link

Thanks @galengidman, its work for me!

@foxnove
Copy link

foxnove commented Sep 17, 2021

Hi, @galengidman. How can I add the search for categories or taxonomies to this form?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment