{"id":295197,"date":"2026-07-23T22:56:48","date_gmt":"2026-07-23T22:56:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/shop-visibility-control-for-woocommerce\/"},"modified":"2026-07-23T22:56:25","modified_gmt":"2026-07-23T22:56:25","slug":"katalog-visibility-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/fuc.wordpress.org\/plugins\/katalog-visibility-for-woocommerce\/","author":23341365,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.5","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Katalog Visibility for WooCommerce","header_author":"Shabtech","header_description":"Hide selected product categories from the Shop page while keeping them visible in category pages.","assets_banners_color":"9479b9","last_updated":"2026-07-23 22:56:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/shabtech.com\/plugins\/katalog-visibility","header_author_uri":"https:\/\/shabtech.com\/about","rating":0,"author_block_rating":0,"active_installs":0,"downloads":72,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"shabtech","date":"2026-07-23 22:56:25"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3620607,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3620607,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3620607,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3620607,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3620607,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3620607,"resolution":"1","location":"assets","locale":"","width":1381,"height":653},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3620607,"resolution":"2","location":"assets","locale":"","width":1384,"height":607}},"screenshots":{"1":"Settings page \u2014 multi-select category picker with toggles for search and tag archive exclusion.","2":"Per-product override checkbox in the product editor General tab."}},"plugin_section":[],"plugin_tags":[24041,66485,217147,47522,286],"plugin_category":[45],"plugin_contributors":[273054],"plugin_business_model":[],"class_list":["post-295197","plugin","type-plugin","status-publish","hentry","plugin_tags-hide-categories","plugin_tags-product-categories","plugin_tags-product-visibility","plugin_tags-shop-page","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-shabtech","plugin_committers-shabtech"],"banners":{"banner":"https:\/\/ps.w.org\/katalog-visibility-for-woocommerce\/assets\/banner-772x250.png?rev=3620607","banner_2x":"https:\/\/ps.w.org\/katalog-visibility-for-woocommerce\/assets\/banner-1544x500.png?rev=3620607","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/katalog-visibility-for-woocommerce\/assets\/icon.svg?rev=3620607","icon":"https:\/\/ps.w.org\/katalog-visibility-for-woocommerce\/assets\/icon.svg?rev=3620607","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/katalog-visibility-for-woocommerce\/assets\/screenshot-1.png?rev=3620607","caption":"Settings page \u2014 multi-select category picker with toggles for search and tag archive exclusion."},{"src":"https:\/\/ps.w.org\/katalog-visibility-for-woocommerce\/assets\/screenshot-2.png?rev=3620607","caption":"Per-product override checkbox in the product editor General tab."}],"raw_content":"<!--section=description-->\n<p><strong>Katalog Visibility for WooCommerce<\/strong> gives store owners granular control over which product categories appear on the main Shop page \u2014 without affecting visibility anywhere else on the site.<\/p>\n\n<p>Products in hidden categories remain fully accessible through:<\/p>\n\n<ul>\n<li>Their own category archive pages (e.g. <code>\/product-category\/wholesale\/<\/code>)<\/li>\n<li>Direct product URLs<\/li>\n<li>Search results (configurable)<\/li>\n<li>Cart, checkout, and all other WooCommerce pages<\/li>\n<\/ul>\n\n<h4>Use Cases<\/h4>\n\n<ul>\n<li><strong>Wholesale \/ trade-only products<\/strong> \u2014 keep them off the public Shop page but accessible via direct links shared with trade customers.<\/li>\n<li><strong>Coming soon collections<\/strong> \u2014 prepare categories ahead of launch without exposing them to casual shoppers.<\/li>\n<li><strong>Funnel-based selling<\/strong> \u2014 drive traffic to specific landing\/category pages instead of the Shop page.<\/li>\n<li><strong>Members-only products<\/strong> \u2014 pair with the developer filter to show\/hide categories based on user role.<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Multi-select category picker<\/strong> \u2014 searchable Select2 dropdown listing all product categories including nested subcategories.<\/li>\n<li><strong>Selective hiding<\/strong> \u2014 only the main Shop page is affected; category archives always show all their products.<\/li>\n<li><strong>Optional search exclusion<\/strong> \u2014 toggle to also hide selected categories from frontend search results.<\/li>\n<li><strong>Optional tag archive exclusion<\/strong> \u2014 toggle to also hide selected categories from product tag archive pages.<\/li>\n<li><strong>Per-product override<\/strong> \u2014 \"Force show on Shop page\" checkbox on individual products to override category-level hiding.<\/li>\n<li><strong>Debug logging<\/strong> \u2014 enable debug mode to log excluded category and product IDs to WooCommerce Status Logs.<\/li>\n<li><strong>Developer-friendly<\/strong> \u2014 <code>wsvc_hidden_categories<\/code> filter allows programmatic control (e.g. role-based visibility).<\/li>\n<li><strong>Safe query merging<\/strong> \u2014 appends to existing <code>tax_query<\/code> without overriding other plugins' filters.<\/li>\n<li><strong>HPOS compatible<\/strong> \u2014 fully compatible with WooCommerce High-Performance Order Storage.<\/li>\n<li><strong>Lightweight<\/strong> \u2014 no external dependencies, no custom database tables, no frontend assets.<\/li>\n<\/ul>\n\n<h4>Developer Filter Example<\/h4>\n\n<p>Show hidden categories to wholesale users:<\/p>\n\n<pre><code>add_filter( 'wsvc_hidden_categories', function ( $hidden ) {\n    if ( current_user_can( 'wholesale_customer' ) ) {\n        $wholesale = get_term_by( 'slug', 'wholesale', 'product_cat' );\n        if ( $wholesale ) {\n            $hidden = array_diff( $hidden, array( $wholesale-&gt;term_id ) );\n        }\n    }\n    return $hidden;\n} );\n<\/code><\/pre>\n\n<!--section=installation-->\n<ol>\n<li>Download the plugin zip file.<\/li>\n<li>In your WordPress admin, go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Upload the zip file and click <strong>Install Now<\/strong>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Navigate to <strong>WooCommerce \u2192 Settings \u2192 Products \u2192 Katalog Visibility<\/strong>.<\/li>\n<li>Select the categories you want to hide from the Shop page and save.<\/li>\n<\/ol>\n\n<p>Alternatively, upload the extracted <code>katalog-visibility-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code> via FTP and activate from the Plugins screen.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20hidden%20products%20still%20appear%20on%20their%20category%20pages%3F\"><h3>Will hidden products still appear on their category pages?<\/h3><\/dt>\n<dd><p>Yes. Hiding only applies to the main Shop page. Category archive pages always display all their products normally.<\/p><\/dd>\n<dt id=\"can%20i%20still%20link%20directly%20to%20a%20hidden%20product%3F\"><h3>Can I still link directly to a hidden product?<\/h3><\/dt>\n<dd><p>Yes. Direct product URLs are never affected. Hidden products remain fully accessible via their permalink.<\/p><\/dd>\n<dt id=\"does%20this%20affect%20the%20admin%20dashboard%20or%20woocommerce%20rest%20api%3F\"><h3>Does this affect the admin dashboard or WooCommerce REST API?<\/h3><\/dt>\n<dd><p>No. Filtering only applies to frontend WooCommerce product queries. Admin, REST API, cart, and checkout are never modified.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20products%20from%20search%20results%20too%3F\"><h3>Can I hide products from search results too?<\/h3><\/dt>\n<dd><p>Yes. Enable the \"Also hide from search results\" toggle in the settings.<\/p><\/dd>\n<dt id=\"can%20i%20override%20hiding%20for%20a%20specific%20product%3F\"><h3>Can I override hiding for a specific product?<\/h3><\/dt>\n<dd><p>Yes. Edit the product and check the \"Shop Visibility Override\" checkbox under the General tab. That product will appear on the Shop page even if its category is hidden.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20woocommerce%20hpos%3F\"><h3>Is this compatible with WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares full compatibility with High-Performance Order Storage.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20other%20plugins%20that%20modify%20product%20queries%3F\"><h3>Does this work with other plugins that modify product queries?<\/h3><\/dt>\n<dd><p>Yes. The plugin safely merges its exclusion into the existing tax_query rather than replacing it, so other plugins' query modifications are preserved.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Multi-select category hiding from Shop page.<\/li>\n<li>Optional search result exclusion.<\/li>\n<li>Optional product tag archive exclusion.<\/li>\n<li>Per-product \"Force show on Shop page\" override.<\/li>\n<li>Debug logging to WooCommerce Status Logs.<\/li>\n<li><code>wsvc_hidden_categories<\/code> developer filter.<\/li>\n<li>HPOS compatibility declared.<\/li>\n<\/ul>","raw_excerpt":"Hide selected product categories from the Shop page while keeping them visible on category pages.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/295197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=295197"}],"author":[{"embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shabtech"}],"wp:attachment":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=295197"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=295197"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=295197"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=295197"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=295197"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=295197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}