There is already a widget that allows you to place a “Product Category Dropdown” in your sidebar areas. The problem is that lately, sidebars have become kinda 1990. So, what if you want to place a “Category Select Box” anywhere in your WooCommerce website, and (in this case study), exactly on the Product Category pages, so that you can switch from one category to the other?
Well, in this snippet you will learn a lot of things. For example, the wc_product_dropdown_categories() function magically displays a category dropdown, while the wc_enqueue_js() function allows you to inject jQuery (responsible to trigger the category page redirect).
PHP Snippet: Show a Product Category Switcher and Redirect Upon Selection
Please note in the “location.href” section you have to make sure you enter the correct permalink base for product categories, otherwise you will get error 404. In this case, I’m using the default product category permalinks, “/product-category/“.
/**
* @snippet Product Category Switcher @ Product Category Pages
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 8
* @community https://businessbloomer.com/club/
*/
add_action( 'woocommerce_before_shop_loop', 'bbloomer_filter_by_tag', 31 );
function bbloomer_filter_by_tag() {
if ( is_product_category() ) {
wc_product_dropdown_categories();
}
wc_enqueue_js( "
$('#product_cat').change(function () {
location.href = '/product-category/' + $(this).val();
});
" );
}
If you get 404 when selecting the “select category” from drop-down try this it will also show on shop page as well
Cool
What a great source for Woocommerce tweaks! However i can’t seem to fix the category selector on my page(?)
also the No products were found matching your selection snippet aint working for me.
Any idea what i might overlook?
regards
Hey there, thanks so much for your comment! I’m afraid this is custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Hi rodolf, I am following your bl9g since a while and commenting first time. A lot of things about woocommerce i found here. Thank you.
Could you please mail me your ebook if have?
Thanks Manish
Hi Rodolfo,
if I only want to display the subcategories of the specific category as a dropdown, what would I need to change?
Thanks!
Lykke
Hey Lykke, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Yes, I need this too! Lykke did you find plugin?
Rodolfo you provide an amazing resource!
Hi i am trying to use this code for oceanwp theme but its not working. I am trying to display in shop page
Does it work on 2020 or Storefront theme? If yes, you need to adapt it to OceanWP
I want to change URL after selection of Dropdown Because i am selecting Sub Category So URL cannot be Form like
Siteurl/Category/Subcategory
Hi Vishven, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Hi Rodolfo,
Thank you for this snippet!
May I know how to add a little space in front of it please?
See: https://d.pr/free/i/dEgpdx
Sorry, no. But you can just use simple CSS margin
Hello
Great idea. I found one problem though. It does not work in my mobile. Also Is there a shortcode to add it wherever you want ? for example this should be in the home page too (in my case) that is not the shop page
Yiannis
Hey Yiannis, thanks for your feedback! Maybe you have JavaScript disabled on mobile? Otherwise try to clear its cache. The shortcode, yes, it’s possible, but it’s custom code I’m afraid. Thanks!
Hello
I don’t have js disabled in my mobile and I open the page as private in iPhone which means that there is no cache !! I still cannot see the menu in the mobile
Disable all plugins but Woo and switch theme temporarily. Does it work?