Title: User Exclusive Products
Author: Marco Gagnon
Published: <strong>December 5, 2025</strong>
Last modified: May 20, 2026

---

Search plugins

![](https://ps.w.org/aisp-user-exclusive-products/assets/banner-772-250.png?rev=
3412199)

![](https://ps.w.org/aisp-user-exclusive-products/assets/icon-256x256.png?rev=3412199)

# User Exclusive Products

 By [Marco Gagnon](https://profiles.wordpress.org/aisimpleplugin/)

[Download](https://downloads.wordpress.org/plugin/aisp-user-exclusive-products.1.0.2.zip)

 * [Details](https://wordpress.org/plugins/aisp-user-exclusive-products/#description)
 * [Reviews](https://wordpress.org/plugins/aisp-user-exclusive-products/#reviews)
 *  [Installation](https://wordpress.org/plugins/aisp-user-exclusive-products/#installation)
 * [Development](https://wordpress.org/plugins/aisp-user-exclusive-products/#developers)

 [Support](https://wordpress.org/support/plugin/aisp-user-exclusive-products/)

## 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

[⌊Product metabox: Select exclusive users⌉⌊Product metabox: Select exclusive users⌉[

Product metabox: Select exclusive users

[⌊Hidden product behavior (not visible to guests or unauthorized users)⌉⌊Hidden 
product behavior (not visible to guests or unauthorized users)⌉[

Hidden product behavior (not visible to guests or unauthorized users)

## Installation

 1. Upload the plugin files to `/wp-content/plugins/user-exclusive-products/`
 2. Activate the plugin through the “Plugins” menu in WordPress
 3. Edit any WooCommerce product
 4. Use the **Exclusive Users** box to select which customers can view the product
 5. 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.

### What happens if a non-authorized user opens the product URL?

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

 *   [ Marco Gagnon ](https://profiles.wordpress.org/aisimpleplugin/)

“User Exclusive Products” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/aisp-user-exclusive-products/contributors)
for their contributions.

[Translate “User Exclusive Products” into your language.](https://translate.wordpress.org/projects/wp-plugins/aisp-user-exclusive-products)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/aisp-user-exclusive-products/),
check out the [SVN repository](https://plugins.svn.wordpress.org/aisp-user-exclusive-products/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/aisp-user-exclusive-products/)
by [RSS](https://plugins.trac.wordpress.org/log/aisp-user-exclusive-products/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * Updated: Tested up to WordPress 7.0

#### 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_Users` class to `AISP_Exclusive_Products_Category_Users`
   for consistency across the codebase.
 * Fixed: Corrected class name casing from `AISP_exclusive_Products_*` to `AISP_Exclusive_Products_*`
   across multiple plugin modules.
 * Fixed: `AISP_Exclusive_Products_Category_Users` and `AISP_Exclusive_Products_Bulk_Actions`
   are now initialized only after confirming WooCommerce is active.
 * Fixed: Replaced the `rest_prepare_post` hook with `rest_prepare_product` and `
   rest_prepare_product_variation` to properly support WooCommerce product REST 
   endpoints.
 * Fixed: `filter_rest_response()` now returns a proper `WP_Error` with HTTP 401/
   403 responses instead of `null` when restricted products are requested through
   the REST API.
 * Fixed: Added the `rest_product_query` filter alongside `rest_post_query` to properly
   intercept WooCommerce REST API product queries.
 * Fixed: Added `suppress_filters => true` to internal `get_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.php` cleanup routine to remove plugin data, transients,
   and related cache entries when the plugin is deleted.

#### 1.0.0

 * Initial release

## Meta

 *  Version **1.0.2**
 *  Last updated **3 months ago**
 *  Active installations **10+**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.2 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/aisp-user-exclusive-products/) and
   [French (Canada)](https://fr-ca.wordpress.org/plugins/aisp-user-exclusive-products/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/aisp-user-exclusive-products)
 * Tags
 * [products](https://wordpress.org/plugins/tags/products/)[restrict](https://wordpress.org/plugins/tags/restrict/)
   [visibility](https://wordpress.org/plugins/tags/visibility/)
 *  [Advanced View](https://wordpress.org/plugins/aisp-user-exclusive-products/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/aisp-user-exclusive-products/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/aisp-user-exclusive-products/reviews/)

## Contributors

 *   [ Marco Gagnon ](https://profiles.wordpress.org/aisimpleplugin/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/aisp-user-exclusive-products/)