Your cart is currently empty!
WooCommerce Product Search
WooCommerce Product Search is the essential extension for every WooCommerce store!
Your best Search Experience for WooCommerce
The perfect Search Engine for your store helps your customers to find and buy the right products quickly. Your customers will love your store for this, because it makes getting to the products they want to buy easier than ever.
Live Search
The Live Search Field allows customers to find products as they type, along with images, price information and they can add the product directly to the cart. Type, click & buy … it’s that easy!
Live Filters
Our live filters take care of showing updated results on the shop page while your customers search by keyword, price range, use categories, tags or any product attributes to narrow down the results.
Experience Easy Shopping
With a no-fuzz automated setup that integrates smoothly with popular themes, Storefront and child-themes included, your customers will have a truly delightful shopping experience. Let them enjoy how easy it is to find the right thing in your store.
Search Statistics
Gain valuable insights on what your visitors are searching in your store. See real-time and historic product search activity and relate it to your marketing efforts.
Business Insights
Discover what your customers are searching for, what they can find and what not. Our reports will help you to reveal what products your visitors are searching for and optimize your store’s offering to meet current and trending demands.
Automated Integration
The Search Engine takes care of providing the best search results on the front end and back end. Our advanced search algorithms integrate seamlessly with your store and the administrative dashboard.
Search Index
The Search Indexer will automatically index all products in your store and keep everything up-to-date for you. Even when you add, modify or remove products and related aspects, you don’t need to do anything to have your store fully indexed, products ready to be found.
Visually Intuitive Filters
An image says more than a thousand words … create a visually appealing search experience for your customers! Add thumbnails used with live product filters for product categories, tags and attributes. Filter by color, size, brand … showing the actual color, intuitive icons and logos.
Relevant Search Results
Search Weights based on keyword matches present more relevant results to your customers. The relevance of your store’s product search results is substantially improved, with powerful controls that introduce Search Weights to WooCommerce.
Powerful Back-End Features
This extension is smoothly integrated with your WooCommerce store and WordPress Dashboard.
From important business insights provided by its search reports, to optimized back-end product search results powered by the extension’s Search Engine – this essential tool provides everything you need to be in control.
Your little Helper
The built-in Assistant helps you to add live product filter widgets to sidebars in an instant. It shows you which filters are already present and suggests to add those that aren’t. Simply click and customize them later if needed.
Widgets
Your customers will love the live Product Search Field that shows results while you type and lets you add items directly to the cart. It automatically replaces the standard product search field if desired, and it is also available as a widget to use in sidebars.
Flexible live filters update your shop page as the customer types, indicates a price or chooses from product categories, tags or any product attributes.
Shortcodes
All live search facilities are available as WordPress shortcodes. In addition to these, we include facilities to render search results on any page. This even allows you to create specialized shop pages!
Stylish!
The extension is tested and integrates with lots of popular themes and requires no or very little CSS adjustments in most cases. To make things very easy for you, we have included a section where you can add your own CSS rules. And you’re always welcome to ask for our help!
API
As with the widgets and shortcodes, we provide a very easy to use API that gives you access to all search and filtering facilities, so you can effortlessly include them in templates.
Demo
Please visit the live demo to try it out.
Documentation
The documentation for this extension is here.
Purchase
This premium extension is available exclusively on WooCommerce.com, head over to the product page: WooCommerce Product Search
Comments
198 responses to “WooCommerce Product Search”
The version 5 has compatibility issues with Pantheon server.
Some of the folders for caching point to wp_content folder, which is writable in Pantheon. Some of the folders have filters, which allow us to move them, but not all of them. For example .scheduleworkerlock does not have filter.
Can you make sure that all of those functions that write to wp_content have filter so we can move them to writable folders?
Hi,
Regarding the lock file you mention, good catch, we’ll add a filter for it. As you mention the
wp_content
folder, note that we don’t use that hardcoded but theWP_CONTENT_DIR
constant instead. But of course if you need to change the target directory, the filters will be appropriate.If you see any other instances where you think an added filter would be viable, please let us know. The one above will be added to the next release.
Thanks for reaching out, please feel always welcome to provide any feedback and suggestions like that.
Cheers
I love the Tag filter with the Cloud showing customers available Tags. They can be clicked, also multiples.
I use tags to keyword products which are not selectable product attributes.So Toys could be described with tags as “Car”, “Wood”, “modern”, “Classic”, “Audi”.
PROBLEM:
All products are shown with ANY of the selected tags and not only with ALL of the selected tags. So if a customer selected Audi, Car, Wood the plugin would show:
– ALL products with the tag wood, also trains, airplanes, etc.
– ALL products with the tag Car even if they have the tag “metal” or “Porsche”
– ALL products with the tag Audi, even if they have tags like metal or are not even cars.Suggestion:
Allow to have the multiple tags combined with AND instead of OR
use Live filtering of tags so only tags are shown which work in combination of the selected tags, e.g.
Selecting Audi as a tag would make other Brands disappear as Products would only have one Brand as a tag. Same with Metal vs. Wood.So it would give the customer a much finer search without having to type and guess keywords.
The search bar function (which is replaced through this plugin) actually uses that logic when searching the tags.
Hi KS,
Many thanks for the detailed explanation! Yes, I think what you describe makes sense when you want conjunctive logic applied to the chosen tags to narrow down products that match all of them, instead of any. We are currently working on enhancements to the extension that will allow to do that. I can’t give you an exact ETA for it though, as it’s part of quite a substantial feature set that will be released.
As an alternative, what I would often suggest instead of using tags, to switch to proper product attributes.
For example, for the tags you mention, it could make sense to define new attributes such as “Type”, “Material”, “Style”, “Brand”:
– Type : Car, Train, Ball, Tracks, Figurine, …
– Material : Wood, Plastic, Aluminum, Steel, …
– Style : Modern, Classic, …
– Brand : Porsche, Audi, …The advantage of this approach is that the number of tags is reduced and most often the need to use tags is even eliminated. And by combining terms under a single product attribute, it’s naturally possible to select one or more disjunctively, while restricting the set of matching products by using multiple combinations of different attributes.
So this approach could help you to reorganize your tags into product attributes and make it easier to handle. In any case, the enhancements to the extension’s features are also on their way, as we would like to provide a lot more flexibility when it comes to handling those aspects.
Cheers!
Hi,
I purchased your product search plugin.
I added the attribute filter to my homepage.
When I’m logged into the site as admin it works fine. However when I visit the store as a regular visitor the dropdowns are “disabled”.
Can’t seem to find the setting to make them active.
Any suggestions?Hi Olivier,
You might have to adjust settings related to caching, it appears that your visitors are served a different version of the pages than your admin. Please Open a Support Request and our team will take it from there.
Cheers
Hi Kento,
thanks for the great response and update. Yes, I had thought about attributes but since I also need them to make Variations as Variations are created from Attributes.
Ok, I only have one set of attributes to make Variations and copy existing products to not having to recreate everything it might work in theory for me.But also, this means I would have to organise all tags in some kind of main attributes like colour. This might sound easy for my easy example but as I use tags as keywords to describe my products it would be hard to put every keyword under a specific attribute.
So I am eagerly awaiting news when an update is on the doorstep. Maybe you can sign me up for some beta testing. it’ll take me 5 minutes to find the first issues
Hi,
Indeed, it seems that in your case it makes sense to work with both. I would not recommend to try to force all tags into some attribute, only those that can be grouped sensibly.
If you’d like to share a link to the site, that would be interesting to see for context, feel free to do so if you think it’s appropriate.
And many thanks for offering to participate in beta testing, we always appreciate that! I’m taking note to give you early access when possible.
Cheers!
Hello…
I am using the WooCommerce Product Search using the following shortcode; [woocommerce_product_search]
I do not want the live search that causes live search results from the search field. How can I turn that functionality off?
Please get back.
Rob
Hi Rob,
You can use a very large number with the
delay
parameter so that it takes long until the live search kicks in – the parameter is documented on the shortcode’s documentation page.If you need further help, please use the Support section where our team will be happy to help you further.
Cheers
Hello! I need the search results to show the products that are in stock first and then show the out of stock products.
I would like to know if there is any snippet that I can use for this. Thank you very much.
Hi,
You could achieve this by using the pre_get_posts hook (it should fire late to allow others hooked on the action to do their thing before). WooCommerce has a lookup table
$wpdb->wc_product_meta_lookup
with thestock_status
column that you could use to apply sorting before the results are presented.I’m not aware of any particular snippet I could point you to that would already to this for you, so you’d have to figure the code out yourself or hire a WooExpert to do the customization for you.
Cheers
Hi Kento,
Are you planning to make the URL a little more SEO-friendly? It’s very long for just a category.
For example, if i click Men -> Jackets the URL result is:
A lot of filters are included in the URL which IMO doesn’t need to be all visible since I never filtered them yet.
Thanks
Hi,
Thanks for asking! We don’t have current plans to change or shorten these in the short term, although there will be a revision related to overall improvements. In any case, the length of the URLs produced are not an issue for SEO or other aspects, as you can easily see with other sights that use really large URLs (ebay, google, amazon, …).
Cheers
Oh, sorry for my last message…
I’ve found my problem. I’ve openned a div and close it with form.
Already work fine. You can delete my two post.Thanks for following up and great to hear that you found the cause. Thanks for using the search engine!
By the way, if you need help later on, please submit a ticket and our team will be happy to help you further.
This extension is perfect and has a lot of features.
There is only one problem with this, when select a filter, it duplicates the footer on the last find element (last li).
You can try it : https://poc.aprocom.fr/categorie-produit/funeraire/I’ve tried with shortcode, function or sidebar.
I don’t understand why footer is duplicate. I not use a theme (own theme) and all the HTML structure is propagated with WooCommerce.Hello. Consider modifying your JS for updating the header element contents on the shop page when filtering. WooCommerce provides the filter hook ‘woocommerce_show_page_title’ inside of the header element in the archive-product.php file. This allows theme developers to turn off the title on the page altogether. I’ve done this for my theme and moved it to the page sidebar – my shop page has a two-column layout. But product-filter.js (line 302) targets and inserts the entire header element and shows it anyway. This results in the title displaying where it was previously disabled using the WooCommerce filter hook as well as my sidebar location and breaking the page layout. As additional filters are applied and cleared using the plugin, this behavior persists adding additional header elements with the page title that do not clear unless you navigate away from the page.
Hi Katrina,
The system will update the header element where it is located. Could it be that in your case you have it in two positions? Do you have an example page where we could see what you are describing?
Cheers
Hello Kento,
Thanks for taking time out of your busy schedule to reply.
Technically, I do have it in two positions because I am not overwriting the archive-product template, only using the hooks provided.
So I passed false to the woocommerce_show_page_title filter so that the title does not display, but the title’s header wrapper markup is still on the page. See the WooCommerce docs for reference here – https://woocommerce.github.io/code-reference/files/woocommerce-templates-archive-product.html#source-view.33. I did not set it’s selector to display none or anything, since I’m not using it to show anything.
My theme has the page title in the left sidebar above the widgets. So I use the woocommerce_page_title function to get the page title and place it there. For consistency, I duplicated the woocommerce header element and place it inside there.I’m no jquery expert, but I believe the code started on line 302 of product-filter.js in your plugin, is replacing the html content of the header and showing the header regardless of it’s current state. Here’s the code:
var header = $( data ).find( containers.header );
if ( header.length > 0 ) {
$( containers.header ).replaceWith( header );
$( containers.header ).show();
} else {
$( containers.header ).html( ” );
$( containers.header ).hide();
}
This will be display the header even if I set it’s CSS to display none because header.length will always return greater than 0 unless the header element is not used or the template is completely overwritten.I’m unsure of how it works exactly, but in my theme it has been making duplicate copies of the header when the queries are run and on each subsequent page load where Product Search is actively running – to include if live filters are enabled or if the URL query string has changed. I would refresh the screen and new header markup would append to the page right beneath the previous one. The only way to clear the behavior is to browse away from the page and return.
I would have submitted this ticket on WooCommerce’s website, but I’m in an isolated development environment. If you need additional information, please let me know and I’ll be happy to see if I can get some screenshots of the behavior.Hi Katrina,
You’re very welcome, these are indeed busy days but I hope that the following will be helpful.
What you describe is in line with what I thought. My suggestion would be based on your correct observation:
“… unless the header element is not used or the template is completely overwritten.”
Indeed it would be appropriate to override the default template from your theme in a child theme where the superfluous header instance(s) are removed. You should end up with that header in only one place, as you originally intend to have it.
So, my suggestion would be:
– override archive-product.php in your child theme where the header section is removed
– you won’t need to use the woocommerce_show_page_title filter
– only leave the header in the template that applies to your sidebarCheers
Sounds good. Thanks again for your help. Take care.
Is there any way to speed up indexing, we have 500k products, and it is taking several hours for just 1%. Is there a way to have several threads working at once?
Hi Robert, I would recommend to review the settings used on your site for the Indexer – see https://woocommerce.com/document/woocommerce-product-search/settings/index/ – you can increase the number of entries that are processed per run and also increase the processing limits for PHP while decreasing the work cycle. If you need further help, please make sure to Create a ticket so our support team can help you further.
I want to use this plugin in oxygen builder. Oxygen builder don’t use widget. So we have to create a template where we can place the search fields. The plugin you are providing it allows to put those search fields by widget. So let me know the possibility.
Hi,
You will find the equivalent functions documented currently under Functions (please note that the link should normally be pointing to this page but due to a restructuring of the documentation the other one is active).
Cheers
The link you mentioned is redirecting me to https://woocommerce.com/document/subscriptions/develop/functions/
You need to go to the first link, you’re visiting the second one I mentioned is currently broken.
Hi Kento,
We have purchased the plugin and understood the shortcode feature. In the actual shop page I placed three shortcode using oxygen builder. In the left column I placed two shortcode [woocommerce_product_search], [woocommerce_product_filter_price] and in the right [woocommerce_product_filter_products].
The content is coming like below and ajax search is not working. Any thing we are missing?
https://nimb.ws/GUichmHi there!
Thanks for using the search engine! I can’t say much based on the screenshot, maybe it’s related to caching or some conflict (your debug.log might reveal something). But please make sure to create a ticket here and our support team will help you further.
Cheers
When you do a search for a variation sku you get redirected to the product page with no variations selected. Is there a way to have the variation selected as part of the search result?
For example when you do a search for “men-bshirt-m-orange” on your demo site “http://demo.itthinx.com/wps/” you are redirected to this page “http://demo.itthinx.com/wps/product/button-down-shirt/”. With that same search is there a way to be redirected directly to the variation like here “http://demo.itthinx.com/wps/product/button-down-shirt/?attribute_pa_color=orange&attribute_pa_size=m”?
This way if someone searches by the sku of a variation they get to the product with the variation(s) already selected.
Hi John,
Thanks for asking, good question. This is something we could take into account as a feature request, taking note of it 🙂
Cheers
After updating the plugin to 3+ version from 2+ version some categories (those with 500+ products) not showing up any product (the index is on 100%).
Here is an example: https://fithealth.gr/cat/organa-gimnastikis/mikroorgana/
Hi Christopher,
Thanks for using our software! Please create a support request here and our support team will help you further.
Cheers
Thanks for this awesome plugin. However, for some reason, it will stop styling my theme’s Woocommerce product search widget if I enabled “Optimize front end product searches”. Any help would be much appreciated.
Hi Zack,
Great to hear that you like it! Regarding the option, it’s not related to styles. But you’re probably using the auto-replacement search field or the widget. Please have a look at the Themes section of the documentation and particularly the Customization section for hints on styling the containers. If you still need help after that, please create a Support request.
Cheers
Hi! Is it possible to replace the “—” sign in the price filter widget with the text “to”? I’ve looked around in the plugin editor but can’t find where the “—” is generated from?
Hi Albin, thanks for using our search engine! There are several ways of customizing the output, but please don’t approach it by editing the plugin’s code, it’s the worst thing you can do. For this case, please have a look at the woocommerce_product_search_field_product_price_html filter which you can use with a simple string replacement.
Hi! I would like to remove the “clear” text on sidebar filters, leaving only an x icon to clear the filter. Is this possible?
Hi Albin,
Please have a look at the Customization section of the documentation where you will find guidance and examples.
Cheers
Hi Kento,
Thanks! One more thing, is there a way to get shorter and tidier urls?With only one filter active this is what my urls looks like;
All the best,
Hi Albin,
The URLs are correct and based on the filters used, but your question is valid. Although the length of the URLs during filtering is not an issue (see for example searches on Amazon or Google which happily extend), I do see an interesting point about the option to shorten them. We’ll take note of it and see if there’s something interesting we could provide further on.
Cheers
Hello,
This issue, with WooCommerce Price Based on Country, also applies to WC Booster (https://booster.io/features/woocommerce-prices-and-currencies-by-country/).
The Product Search plugin has a static method get_min_max_price located in the WooCommerce_Product_Search_Service class.
But the problem is that it does not provide a filter to override the values. Hence, even with the API and the available filters/hooks, the developers at Booster would not be able to override the queries required to modify the min and max prices to get Booster work with Product Search, especially regarding the Product Search price filter/slider.There is a filter on the native WooCommerce Price Filter called woocommerce_price_filter_sql that allows to filter the sql required to get the min and max values.
Maybe, you can add such a filter in the next update. This will make it more accessible to developers and users, and get Product Search more compatible.
Thanks.
Hi Oshin,
Thank you very much for your suggestion. I think it makes sense to have such a filter for that method and we will add it in an upcoming release (if possible, it might be included in the next upcoming one).
Cheers
Hello, I saw comments about the integration with Woocommerce brands, does this native integration already exist or need to be customized after purchasing the plugin?
Hi,
The integration with WooCommerce Brands is automatic, please see Is it possible to search for custom fields or metadata, to find products by vendor, brand, manufacturer, part number … ? in the FAQ section of the documentation for further info.
Cheers
In version 2.17.0 search doesn’t show results when the searching term (SKU) contains a dash.
Hi Christopher,
Searching for SKUs with a dash is supported as the search engine’s indexer is aware of those, but I would recommend to also update to the latest version and make sure that you don’t have any conflicting plugins or customizations in place. You might also try rebuilding the index.
Cheers
We have purchased this plugin and would like to be able to add a filter (similar to the categories widget) for a custom taxonomy – is this possible? Is there any developer level documentation that would cover this?
Hi – looking into dropping support for WC Brands (https://docs.woocommerce.com/document/wc-brands/ ) into your plugin, to add this as a filter for use in widgets – it’s basically a custom taxonomy.
Would you be interested in a PR (I am on private repo for this btw in Woo Github – where it says to contact you here!) – or is this something you could give a quick steer on?
Hi Robin,
I have seen many cases where simply using a product attribute was covering the need to work with brands. That’s what I would recommend to try out first before deciding to tackle an enhancement. WooCommerce Product Search also adds support for icons on attribute terms which covers the typical case where you need to display brand icons within the filter.
If that works out for you, you won’t need to code anything, but I’d of course be interested to see how you would approach integrating it with the Brands extension if you prefer to use that. There is some limited support for custom taxonomies already built into WooCommerce Product Search which might also be helpful.
Cheers
Hi,
I’m the developer of WooCommerce Price Based on Country plugin. A customer of mine has informed me of a compatibility issue between your plugin and Price Based on Country. After reading the plugin code and running several tests, I have found the problem and the solution.Unfortunately, I can not apply the solution. The solution should be applied on your plugin.
If you’re interested in integrating the two plugins, please contact me.
Thank you in advance.
Hi Oscar,
Thanks, sure let’s have a look, I’ll get in touch.
Cheers
Great! That fixed it. Thanks.
I have words like Café Latte in my colour section. They load initially fine but then when the extension updates the search the name comes through as Café Latte. Can you look into this?
This is related to an optimization option that is incompatible with your theme’s templates – please see https://docs.woocommerce.com/document/woocommerce-product-search/faq/#section-12 on what to disable to solve it.
Leave a Reply