Description
User Exclusive Products lets you restrict any WooCommerce product to one or multiple users.
If a product is exclusive:
– Only selected users (and administrators) can see it.
– Unauthorized visitors cannot see the product in shop, category, tags, search or AJAX live search.
– Direct access to the product URL redirects to the shop page.
– Fully compatible with modern search engines (including FiboSearch).
Perfect for:
– B2B stores
– VIP customer access
– Private product offers
– Client-specific catalogs
– Wholesale deals
🔒 Key Features
- Restrict product visibility to specific users only
- Admins are always allowed (cannot be restricted)
- Product completely hidden from:
- Shop
- Category pages
- Product tags
- Search results
- AJAX / live search
- REST API product queries
- Lightweight & fast (no bloat)
- No role management required
- Simple multiselect user selector (WooCommerce-style)
🧩 Compatibility
This plugin is built with standard WooCommerce filters, making it compatible with most themes.
Tested and working with:
– Botiga / Botiga Pro (AJAX search compatible)
– Storefront
– Astra (front-end compatibility may vary)
– FiboSearch (fully supported)
If you use a theme or plugin with custom product queries, it should still work normally as long as they respect WordPress or WooCommerce APIs.
🎯 No Roles. No Conditions. No Complexity.
This plugin focuses on one thing only:
Restrict WooCommerce products to selected users.
No roles, no categories, no conditions — clean, simple, reliable.
Screenshots
Installation
- Upload the plugin files to
/wp-content/plugins/user-exclusive-products/ - Activate the plugin through the “Plugins” menu in WordPress
- Edit any WooCommerce product
- Use the Exclusive Users box to select which customers can view the product
- Leave empty to make the product public
FAQ
-
Do users need to be logged in?
-
Yes. Only logged-in users can be matched with the allowed list.
-
They are automatically redirected to the shop page.
-
Can I restrict by role?
-
No. This plugin is intentionally simple and only restricts by specific users.
-
Can I restrict categories or variations?
-
Not in version 1.0.0. These features may be added later if requested.
-
Is it compatible with FiboSearch?
-
Yes, fully compatible. Hidden products never appear in AJAX search results.
-
Does it work with all themes?
-
It works with any theme that respects standard WooCommerce queries.
Some custom-built themes may require compatibility tweaks.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“User Exclusive Products” is open source software. The following people have contributed to this plugin.
Contributors“User Exclusive Products” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “User Exclusive Products” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- Improved: Allowed Users field now uses AJAX search (wc-customer-search) instead of a static list, supporting sites with any number of users without performance impact.
- Fixed: Renamed the
AISP_Exclusif_Products_Category_Usersclass toAISP_Exclusive_Products_Category_Usersfor consistency across the codebase. - Fixed: Corrected class name casing from
AISP_exclusive_Products_*toAISP_Exclusive_Products_*across multiple plugin modules. - Fixed:
AISP_Exclusive_Products_Category_UsersandAISP_Exclusive_Products_Bulk_Actionsare now initialized only after confirming WooCommerce is active. - Fixed: Replaced the
rest_prepare_posthook withrest_prepare_productandrest_prepare_product_variationto properly support WooCommerce product REST endpoints. - Fixed:
filter_rest_response()now returns a properWP_Errorwith HTTP 401/403 responses instead ofnullwhen restricted products are requested through the REST API. - Fixed: Added the
rest_product_queryfilter alongsiderest_post_queryto properly intercept WooCommerce REST API product queries. - Fixed: Added
suppress_filters => trueto internalget_posts()calls to prevent recursive filter execution. - Fixed: Bulk action transient keys are now scoped per user to prevent collisions when multiple administrators use the interface simultaneously.
- Added: Plugin constants for version, path, URL, and basename handling (
AISP_EP_VERSION,AISP_EP_PATH,AISP_EP_URL,AISP_EP_BASENAME). - Added: Admin notice displayed when WooCommerce is not active instead of failing silently.
- Added: New
uninstall.phpcleanup routine to remove plugin data, transients, and related cache entries when the plugin is deleted.
1.0.0
- Initial release


