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 πŸ™‚


πŸ‚ 9️⃣ 3, 2022
I can see there are 2 people they told the plugin isn't working. But they are wrong. It's working properly. If you want to work with this plugin then you have to go to woocommerce >> setting >> product >> Hide Categories On Shop Page and then in this box first type eg : (prnt.sc/Y-vk69VlUXkD) then copy your category slug and pest in the box. Save changes and clear your site cache. And your age good to go. A very good plugin for removing categories on a single product page. Hope the above instruction will help new users. Thanks
🌸5️⃣ 3, 2021 3 replies
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.
❄️1️⃣2️⃣ 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.
Read all 13 reviews

Contributors & Developers

“Hide Categories On Shop Page” is open source software. The following people have contributed to this plugin.




  • Added missing line if foreach loop and fixed versioning numbers


  • Updated Foreach() that was causing a PHP warning: Attempt to read property β€œslug” on int … line 147


  • Updated Readme


  • 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