Fast sites. Good code. No surprises. WordPress studio · Lagos · London · New York · Nairobi Custom themes. Custom blocks. Headless architectures. Free 30-min audit. No pitch. Fast sites. Good code. No surprises. WordPress studio · Lagos · London · New York · Nairobi Custom themes. Custom blocks. Headless architectures. Free 30-min audit. No pitch.
Plugins / Katalog Visibility
Free · GPLv2 v1.0.0 WooCommerce HPOS compatible

Katalog Visibility
for WooCommerce.

Hide selected product categories from the Shop page while keeping them fully accessible everywhere else — category archives, direct URLs, search, cart, checkout. For wholesale-only products, pre-launch collections, and funnel-based selling.

Version
1.0.0
License
GPLv2+
Last updated
v1 release
Price
Freeforever
What it does

One job.
Done cleanly.

WooCommerce gives you category-level visibility on a per-product basis, not a per-category basis. Katalog Visibility fills that gap. Pick categories. Hide them from the Shop page. Everything else continues to work normally.

Use case 01

Wholesale / trade-only products

Keep them off the public Shop page but accessible via direct links you share with trade customers. No paywall, no login required — just clean separation.

Use case 02

Pre-launch collections

Build out a collection before launch day without exposing it to casual shoppers. When you're ready, uncheck the box and publish.

Use case 03

Funnel-based selling

Drive paid traffic to specific category landing pages instead of the generic Shop page. Cleaner attribution, better conversion math.

Use case 04

Members-only products

Pair with the wsvc_hidden_categories filter to show or hide categories based on user role — wholesale customers see different inventory than the public.

Features

Built for stores
that ship daily.

Multi-select picker

Searchable Select2 dropdown listing every product category including nested subcategories.

Selective hiding

Only the Shop page is affected. Category archive pages always show every product they contain.

Search exclusion toggle

Optionally hide selected categories from frontend search results too.

Per-product override

"Force show on Shop page" checkbox on individual products. Hide a category but surface its hero SKU.

Developer filter

wsvc_hidden_categories hook for programmatic control — role-based visibility, A/B tests, anything.

Debug logging

Toggle on to log excluded category and product IDs to WooCommerce Status Logs. Easy to diagnose, easy to switch off.

Safe query merging

Appends to existing tax_query arrays without overwriting other plugins' filters.

HPOS compatible

Declares full compatibility with WooCommerce High-Performance Order Storage.

Lightweight

No external dependencies. No custom database tables. No frontend assets. Pure server-side query filtering.

For developers

One hook,
infinite control.

The wsvc_hidden_categories filter lets you modify the hidden category list at runtime. Below: a real example showing wholesale users a category that's hidden from the public.

functions.php PHP
// Show the "wholesale" category to logged-in wholesale customers
// while keeping it hidden from the public Shop page.

add_filter( 'wsvc_hidden_categories', function ( $hidden ) {
    if ( current_user_can( 'wholesale_customer' ) ) {
        $wholesale = get_term_by( 'slug', 'wholesale', 'product_cat' );

        if ( $wholesale ) {
            $hidden = array_diff( $hidden, array( $wholesale->term_id ) );
        }
    }

    return $hidden;
} );
Screenshot

What it
looks like.

Plugin settings page in WooCommerce admin showing the Shop Visibility Control settings: category multi-select, search and tag archive toggles, and debug mode.
Settings · WooCommerce → Products
Multi-select category picker with toggles for hiding from search results and product tag archives, plus debug logging.
Installation

Six steps.
One minute.

Download the plugin zip

From the WordPress.org listing, or use Plugins → Add New search inside your WP admin.

Upload via WP admin

Go to Plugins → Add New → Upload Plugin, choose the zip, click Install Now.

Activate

Hit Activate. The plugin is now wired into WooCommerce.

Open settings

Navigate to WooCommerce → Settings → Products → Shop Visibility Control.

Pick categories to hide

Use the searchable Select2 picker. Toggle the optional search and tag-archive exclusions if needed.

Save

Click Save Changes. Selected categories are immediately hidden from the Shop page on the public frontend.

Alternatively, upload the extracted katalog-visibility-for-woocommerce folder to /wp-content/plugins/ via FTP and activate from the Plugins screen.

Requirements

Runs anywhere
modern WooCommerce runs.

WordPress
5.8 or higher
PHP
7.4 or higher
WooCommerce
6.0 or higher
Tested up to
WP 6.9
FAQ

Quick answers
to common questions.

Will hidden products still appear on their category pages?

+
Yes. Hiding only applies to the main Shop page. Category archive pages always display every product in that category, normally.

Can I still link directly to a hidden product?

+
Yes. Direct product URLs are never affected. Hidden products remain fully accessible via their permalink. Share the link wherever you want.

Does this affect the admin dashboard or REST API?

+
No. Filtering only applies to frontend WooCommerce product queries. Admin, REST API, cart, and checkout are never modified.

Can I hide products from search results too?

+
Yes. Enable the "Also hide from search results" toggle in the settings page.

Can I override hiding for a specific product?

+
Yes. Edit the product and check the "Shop Visibility Override" box under the General tab. That product will appear on the Shop page even if its category is hidden.

Is this compatible with WooCommerce HPOS?

+
Yes. The plugin declares full compatibility with High-Performance Order Storage.

Does this work with other plugins that modify product queries?

+
Yes. The plugin safely merges its exclusion into the existing tax_query rather than replacing it, so other plugins' query modifications are preserved.

Is there a paid pro version?

+
No. Katalog Visibility is free under GPLv2 and stays that way. No upgrade nag screens, no premium tier. If you need custom WooCommerce work that goes beyond this plugin, that's where Shabtech's studio services come in.
Changelog

What's changed.

Version 1.0.0 · Initial release

What ships in v1

  • Multi-select category hiding from the Shop page
  • Optional search result exclusion
  • Optional product tag archive exclusion
  • Per-product "Force show on Shop page" override
  • Debug logging to WooCommerce Status Logs
  • wsvc_hidden_categories developer filter
  • HPOS compatibility declared
Made by Shabtech

Need WooCommerce work
beyond a plugin?

Shabtech builds custom WooCommerce stores, integrates African and global payment gateways, rescues broken sites, and maintains live stores on retainer. The plugin you just downloaded is one piece of work from a 13-year studio. We do more.

Studio since
2013
Markets
NG · UK · US
Payments shipped
Paystack
+ also
Flutterwave