Subscription Gate
Restrict bidding to active subscribers. Pairs with WooCommerce Subscriptions to monetize access to high-value or premium auctions.
What it does
When enabled, the plugin checks before allowing bid placement:
- Does the user have an active subscription product?
- Is the auction marked subscription-gated?
- If both yes → bid allowed
- If gate fails → bid rejected with a message + upgrade link
Use cases
- VIP-only auctions — premium subscribers get exclusive lots
- Tiered access — Bronze members bid on lots up to $500, Gold up to $5,000
- Auction event passes — monthly subscription unlocks all auction events that month
- Reverse-pricing model — auctions are free to view, but bidding requires a sub
Configure
Auctions → Settings → Integrations → Subscription Gate
| Field | Effect |
|---|---|
| Master enable | wkafw_subscription_gate_enabled |
| Required subscription products | List of WC product IDs that grant access |
| Tier mapping | Per-tier rules (max bid amount, allowed categories) |
| Upgrade page URL | Where the gate redirects non-subscribers |
Marking an auction as gated
Per-auction in Add Auction:
| Field | Effect |
|---|---|
| Subscription required | Toggle |
| Min tier | Bronze / Silver / Gold (per your config) |
Or globally — wkafw_all_auctions_gated = yes makes every auction subscription-only.
What non-subscribers see
On a gated auction page:
| Element | Replaces |
|---|---|
| Bid form | Lock icon + "Subscribe to bid" CTA |
| Bid history | Hidden (configurable) |
| Watchlist button | Available (so they can save for later) |
The CTA links to your subscription product page or the configured upgrade URL.
Tier mapping
Example — three subscription tiers:
| Tier | Subscription product | Max bid | Allowed categories |
|---|---|---|---|
| Bronze | $9/mo | $500 | All except "Luxury" |
| Silver | $29/mo | $5,000 | All |
| Gold | $99/mo | unlimited | All + early access (24 hrs before public) |
Configure as JSON in the settings:
{
"bronze": {
"products": [123],
"max_bid": 500,
"excluded_categories": ["luxury"]
},
"silver": {
"products": [124],
"max_bid": 5000
},
"gold": {
"products": [125],
"max_bid": null,
"early_access_hours": 24
}
}
Early access
Gold-tier users see auctions before they go public:
| Setting | Effect |
|---|---|
early_access_hours | Hours before start_date that gated users can bid |
The auction status shows as scheduled to non-subscribers but early_access to gold-tier subscribers.
Subscription cancellation
When a user's WC subscription cancels / expires:
| Behavior | Setting |
|---|---|
| Active bids | Stay valid (grandfathered) |
| New bids | Blocked (until they renew) |
| Won lots | Stay won + payable |
| Watchlist | Preserved |
Refunds for gated auctions
If a user wins but didn't have an active subscription at bid placement (rare edge case — race condition):
- Order is voided
- Wallet is refunded if charged
- Auction is offered to next-highest bidder
Compatibility
| Plugin | Compatible? |
|---|---|
| WooCommerce Subscriptions | ✅ Full |
| YITH WooCommerce Subscription | ✅ Full |
| WP Membership plugins (e.g. Paid Memberships Pro) | Partial — extend the adapter |
Common questions
"Can I gate by user role instead of subscription?"
Yes — use the wkafw_subscription_required filter to check current_user_can() instead.
"Can I exempt admins / shop managers?"
Yes:
"What about pay-per-auction passes (one-time fee)?"
Use the Auction Unlock Fee instead — single payment grants access to a specific lot.
