{"id":279032,"date":"2026-04-03T20:40:32","date_gmt":"2026-04-03T20:40:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/product-roles-manager-for-woocommerce\/"},"modified":"2026-04-06T10:58:02","modified_gmt":"2026-04-06T10:58:02","slug":"product-roles-manager-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/ky.wordpress.org\/plugins\/product-roles-manager-for-woocommerce\/","author":17729021,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Product Roles Manager for WooCommerce","header_author":"Igor Radovanov","header_description":"Product Roles Manager for WooCommerce allows you to control the availability of various WooCommerce product types based on user roles","assets_banners_color":"acbdc5","last_updated":"2026-04-06 10:58:02","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/radovanovigor.com\/","header_plugin_uri":"https:\/\/radovanovigor.com","header_author_uri":"https:\/\/radovanovigor.com\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":152,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"igorradovanov","date":"2026-04-06 10:52:33"},"1.0.0":{"tag":"1.0.0","author":"igorradovanov","date":"2026-04-06 10:58:02"}},"upgrade_notice":{"1.0.0":"<p>Initial release of Product Roles Manager for WooCommerce.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3498491,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3498491,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3498491,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3498491,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3499720,"resolution":"1","location":"assets","locale":"","width":1500,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3499720,"resolution":"2","location":"assets","locale":"","width":1500,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3499720,"resolution":"3","location":"assets","locale":"","width":1500,"height":800}},"screenshots":{"1":"Product visibility settings in the General tab","2":"Variation-specific role restrictions","3":"Plugin settings page with import\/export options"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1912,1932,217147,11917,286],"plugin_category":[45,58],"plugin_contributors":[259398],"plugin_business_model":[],"class_list":["post-279032","plugin","type-plugin","status-publish","hentry","plugin_tags-access-control","plugin_tags-membership","plugin_tags-product-visibility","plugin_tags-user-roles","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-user-management","plugin_contributors-igorradovanov","plugin_committers-igorradovanov"],"banners":{"banner":"https:\/\/ps.w.org\/product-roles-manager-for-woocommerce\/assets\/banner-772x250.png?rev=3498491","banner_2x":"https:\/\/ps.w.org\/product-roles-manager-for-woocommerce\/assets\/banner-1544x500.png?rev=3498491","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/product-roles-manager-for-woocommerce\/assets\/icon-128x128.png?rev=3498491","icon_2x":"https:\/\/ps.w.org\/product-roles-manager-for-woocommerce\/assets\/icon-256x256.png?rev=3498491","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/product-roles-manager-for-woocommerce\/assets\/screenshot-1.png?rev=3499720","caption":"Product visibility settings in the General tab"},{"src":"https:\/\/ps.w.org\/product-roles-manager-for-woocommerce\/assets\/screenshot-2.png?rev=3499720","caption":"Variation-specific role restrictions"},{"src":"https:\/\/ps.w.org\/product-roles-manager-for-woocommerce\/assets\/screenshot-3.png?rev=3499720","caption":"Plugin settings page with import\/export options"}],"raw_content":"<!--section=description-->\n<p>Product Roles Manager for WooCommerce allows you to control which products are visible to specific user roles. Perfect for wholesale stores, membership sites, or any WooCommerce store that needs role-based product access.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Restrict simple products to specific user roles<\/li>\n<li>Restrict product variations individually by user role<\/li>\n<li>Works with WooCommerce product queries, widgets, and shortcodes<\/li>\n<li>Compatible with WooCommerce Blocks and REST API<\/li>\n<li>Automatically hides restricted products from related products, upsells, and cross-sells<\/li>\n<li>Redirects unauthorized users to 404 when accessing restricted products directly<\/li>\n<li>Settings page with import\/export functionality<\/li>\n<li>Lightweight and performance-optimized with caching<\/li>\n<\/ul>\n\n<h4>Use Cases<\/h4>\n\n<ul>\n<li>Wholesale Stores - Show wholesale-only products to users with a wholesale role<\/li>\n<li>Membership Sites - Display exclusive products to premium members only<\/li>\n<li>B2B Stores - Restrict certain products to registered business customers<\/li>\n<li>Staff Discounts - Show staff-only products to employees<\/li>\n<\/ul>\n\n<h3>Configuration<\/h3>\n\n<h4>Simple Products<\/h4>\n\n<ol>\n<li>Go to Products then Edit Product<\/li>\n<li>Scroll to the Product Data section<\/li>\n<li>In the General tab, find Product Visibility by Role<\/li>\n<li>Select the user roles that should see this product<\/li>\n<li>Leave empty to show the product to all users<\/li>\n<\/ol>\n\n<h4>Variable Products<\/h4>\n\n<ol>\n<li>Go to Products then Edit Product<\/li>\n<li>Navigate to the Variations tab<\/li>\n<li>Expand any variation<\/li>\n<li>Find Variation Visibility by Role<\/li>\n<li>Select the user roles that should see this variation<\/li>\n<li>Leave empty to show the variation to all users<\/li>\n<\/ol>\n\n<h4>Plugin Settings<\/h4>\n\n<p>Navigate to WooCommerce then Product Roles Manager to access:<\/p>\n\n<ul>\n<li>Global settings configuration<\/li>\n<li>Export settings to JSON file<\/li>\n<li>Import settings from JSON file<\/li>\n<li>Delete all plugin data<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the \/wp-content\/plugins\/ directory<\/li>\n<li>Activate the plugin through the Plugins menu in WordPress<\/li>\n<li>Ensure WooCommerce is installed and activated<\/li>\n<li>Edit any product and find the Product Visibility by Role settings in the General tab<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20woocommerce%3F\"><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes, WooCommerce must be installed and activated for this plugin to work. An admin notice will appear if WooCommerce is not detected.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20a%20restricted%20product%20is%20accessed%20directly%20via%20url%3F\"><h3>What happens when a restricted product is accessed directly via URL?<\/h3><\/dt>\n<dd><p>The plugin redirects unauthorized users to a 404 page when they try to access a product they do not have permission to view.<\/p><\/dd>\n<dt id=\"can%20i%20restrict%20individual%20variations%20differently%3F\"><h3>Can I restrict individual variations differently?<\/h3><\/dt>\n<dd><p>Yes, each variation can have its own role restrictions independent of other variations or the parent product.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20woocommerce%20blocks%3F\"><h3>Does this work with WooCommerce Blocks?<\/h3><\/dt>\n<dd><p>Yes, the plugin is fully compatible with WooCommerce Blocks including the Products block, Product Collection block, and other product-related blocks.<\/p><\/dd>\n<dt id=\"will%20restricted%20products%20appear%20in%20search%20results%3F\"><h3>Will restricted products appear in search results?<\/h3><\/dt>\n<dd><p>No, restricted products are filtered from all WooCommerce queries including search results, category pages, and shop pages.<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20a%20product%20to%20all%20users%3F\"><h3>How do I show a product to all users?<\/h3><\/dt>\n<dd><p>Simply leave the role selection empty. When no roles are selected, the product is visible to everyone including guests.<\/p><\/dd>\n<dt id=\"does%20this%20affect%20the%20rest%20api%3F\"><h3>Does this affect the REST API?<\/h3><\/dt>\n<dd><p>Yes, the plugin filters products in WooCommerce REST API responses based on the authenticated user role.<\/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>Simple product role restrictions<\/li>\n<li>Variable product variation role restrictions<\/li>\n<li>WooCommerce Blocks compatibility<\/li>\n<li>REST API filtering<\/li>\n<li>Settings page with import\/export<\/li>\n<li>Performance caching<\/li>\n<\/ul>","raw_excerpt":"Control WooCommerce product visibility based on user roles. Restrict products and variations to specific user roles.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/279032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=279032"}],"author":[{"embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/igorradovanov"}],"wp:attachment":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=279032"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=279032"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=279032"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=279032"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=279032"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=279032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}