Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/theosfak/hide-categories-for-woo/releases/download/v1.0.0/hide-categories-for-woo.zipA powerful WordPress plugin that allows you to hide WooCommerce product categories from your store's frontend with advanced control over products and subcategories.
Features
Core Functionality
- ✅ Hide Categories - Simple checkbox to hide any product category
- ✅ Bulk Actions - Hide/unhide multiple categories at once from the category list
- ✅ Smart Product Handling - Products exclusively in hidden categories are hidden; products in both hidden and visible categories remain visible
- ✅ Cascade to Children - Automatically hide child categories when parent is hidden (configurable)
- ✅ Block Direct Access - Hidden category URLs return 404 errors
- ✅ Admin Preview - Administrators see hidden content with visual indicators on frontend
Where Categories Are Hidden
- Shop pages and product archives
- Navigation menus
- Category widgets
- Search results
- Direct URL access (404)
Admin Features
- Quick toggle column in category list with visual status indicators
- Bulk hide/unhide actions
- Hidden category overview dashboard
- Settings page under WooCommerce menu
- Admin can preview hidden content on frontend
Installation
- Upload the plugin files to
/wp-content/plugins/WooHide Categories/ - Activate the plugin through the 'Plugins' screen in WordPress
- Navigate to WooCommerce > Hidden Categories to view settings
Usage
Hide a Single Category
- Go to Products > Categories
- Click on a category to edit it
- Check the "Hide this category from frontend" checkbox
- Click Update
Bulk Hide Categories
- Go to Products > Categories
- Select multiple categories using checkboxes
- Choose "Hide Categories" from the bulk actions dropdown
- Click Apply
Quick Toggle
- Go to Products > Categories
- Click the visibility icon in the "Hidden" column to instantly toggle visibility
Settings
Navigate to WooCommerce > Hidden Categories to:
- View hidden categories overview
- Enable/disable cascading to child categories
- Quick access to manage categories
How It Works
Product Visibility Logic
When a category is hidden:
- Exclusively hidden products - Products that belong ONLY to hidden categories will be hidden
- Shared products - Products assigned to both hidden AND visible categories will remain visible
- Example: If "Clearance" category is hidden and "Product A" belongs to both "Clearance" and "Featured", the product stays visible because it's also in "Featured"
Parent/Child Categories
When cascade is enabled (default):
- Hiding a parent category automatically hides all child categories
- Children inherit the hidden status from their parent
- Can be disabled in settings
Admin Preview
When logged in as administrator/shop manager:
- Hidden categories are visible on frontend with warning badges
- Visual indicators show which content is hidden from customers
- Preview notices appear on category archives
Requirements
- WordPress 6.0 or higher
- WooCommerce 8.0 or higher
- PHP 7.4 or higher
Technical Details
Hooks & Filters
The plugin uses these WordPress/WooCommerce hooks:
get_termsandget_terms_args- Filter category queriespre_get_posts- Filter product queriestemplate_redirect- Handle direct URL accesswoocommerce_product_subcategories_args- Filter shop page categorieswoocommerce_product_categories_widget_args- Filter widget categories
Database
Category hidden status is stored as term meta:
- Meta key:
_woohide_hidden - Meta value:
yes(when hidden) or empty (when visible)
Performance
- Results are cached for optimal performance
- Cache is automatically cleared when categories are updated
- Efficient SQL queries for product filtering
Changelog
Version 1.0.0
- Initial release
- Hide categories from frontend
- Smart product visibility handling
- Bulk actions support
- Admin preview mode
- Settings page
- Quick toggle in category list
Support
For issues, feature requests, or questions, please contact support or open an issue on the repository.
Ways to Support
If you find this plugin helpful, consider supporting its development:
💳 PayPal:
paypal.me/TheodoreSfakianakis
💰 Revolut:
revolut.me/theodocmx
License
GPL v2 or later
Releases
1 release. Each count is every asset in that release; expand a row for the breakdown.