Simple solution to hide specific categories in you woocommerce shop main page i.e. domain.com/shop This plugin was based on WC Hide Categories On Shop …
Author: | WMEric (profile at wordpress.org) |
WordPress version required: | 3.0.1 |
WordPress version tested: | 6.1.7 |
Plugin version: | 1.1.3 |
Added to WordPress repository: | 09-05-2018 |
Last updated: | 28-11-2022
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|
Rating, %: | 88 |
Rated by: | 14 |
Plugin URI: | https://www.matrixwebdesigners.com/plugins/wo... |
Total downloads: | 40 890 |
Active installs: | 2 000+ |
![]() Click to start download |
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
FAQ
ChangeLog