Hide Categories On Shop Page


This free WooCommerce extension permits you to hide categories on your shops main page.
For this you have to save the categories with ‘,’ seperated in woocommerce > settings > products tab section.

In order for this to work you have to have Categories displayed. This can be set via Customizer. Appearance > Customize > WooCommerce > Product Catalog.

“Choose what to display on the main shop page.” Select Show categories as seen in the Screenshot below.

Additional Information

For users who has a different/custom page for their shop you can edit the wc-hide-categories.php file
Find line # 127 and remove //

//$mwd_opt4 = in_array( 'product_cat', $taxonomies ) && ! is_admin() && is_page('YOUR_PAGE_SLUG'),

Then find line #129 /*|| $mwd_opt4*/

Change to
|| $mwd_opt4

To remove products from those categories find line 160

// Uncomment the function below if you also want those products hidden
    add_action( 'woocommerce_product_query', 'mwd_hwcosp_remove_product_in_cat' );

    function mwd_hwcosp_remove_product_in_cat( $q ) {
        //hwcosp_global is the databse row entry
        $opt_terms = get_option('hwcosp_global');

        // Processes our users data to the way we want it from above
        $data = mwd_hwcosp_comma_separated_to_array($opt_terms);

        $tax_query = (array) $q->get('tax_query');
        $tax_query[] = array(
                             'taxonomy' => 'product_cat',
                             'field' => 'slug',
                             'terms' => $data, // Set Category Slug which products not show on the shop and Archieve page.
                             'operator' => 'NOT IN'
        $q->set( 'tax_query', $tax_query );

The code is well documented so its easy to find what part you are looking for

If you have any question please ask in the support forum, Thanks


  • Upload ‘wc-hide-categories.zip’ like any other plugin or upload the zip file contents to the ‘/wp-content/plugins/’ directory
  • Activate the plugin through the ‘Plugins’ menu in WordPress
  • Configure the plugin at Dashboard > WooCommerce > Settings > Products > Hide Categories On Shop Page
  • Save your settings with the category slugs with ‘,’ seperated.
  • I.E. cat1, cat2, cat3

सामान्य प्रश्न

Does this work on Multisite?

As of version 1.1.0 Yes

I’d like to donate, how can I?

Click the donate button to the right or go here https://www.paypal.me/matrixwd
And thank you in advance 🙂


मई 3, 2021
Not only doesn't this plugin work right. It throws PHP warnings and fills the error log. At this point, this plugin hasn't been updated in over a year.
दिसम्बर 6, 2020
It was able to hide unwanted categories from all widgets of a WooCommerce site, where even 3rd party code snippets failed. Very good.
जुलाई 25, 2020
It does not hide uncategorized category.
अगस्त 31, 2019
I have been searching for so long for a plugin or a code that will help me hide categories from my shop page and now I finally found it! I am not a programmer, so I depend on plugins to help me with the coding. I am SO GLAD you made this plugin! It works!
13 के सभी समीक्षा पढ़ें

सहायक &डेवलपर्स

यह खुला स्रोत सॉफ्टवेयर है। अनुगामी लोगो ने इस प्लगइन के लिए योगदान दिया है।


बदलाव विवरण


  • Updated so that it now works on WordPress Multisites
  • Added new comments to the code so its easier to follow on what block does what
  • Added the ability to hide sub categories
  • Added the ability to hide all products under root category and sub category


  • Added the conditionals to test if the shop is_home() or is_front_page() and added the a fourth test a user could uncomment to add their custom shop page slug.


  • Stable initial release