Version 1.0.0 · Updated April 2026
Please confirm your environment meets the following requirements before installing:
Restrict Checkout is tested against the latest stable WooCommerce and WordPress releases and is HPOS (High Performance Order Storage) compatible.
restrict-checkout.zip from your My Account downloads page.restrict-checkout.zip on your local computer./wp-content/plugins/.restrict-checkout folder.CA- licence key from your purchase confirmation email.Your licence key is also available from My Account → Orders on coreaddons.com.
Each restriction is defined as a named rule. Rules are evaluated at checkout, on the cart page, and on the checkout page load. When a rule's conditions are met, checkout is blocked and the configured message or redirect is triggered.
⚠️ Rules take effect immediately when saved and set to Active. Test on a staging site or while logged out of your admin account to verify the restriction works as intended.
Each rule can have one or more conditions. Available condition types:
Block or allow checkout based on the current user's WordPress role. Select one or more roles from the dropdown. Useful for restricting wholesale-only products, or preventing specific roles from ordering certain items.
Select Guest (not logged in) or Logged In to restrict based on authentication status. Commonly used to force account creation before checkout.
Set a Minimum cart total, Maximum cart total, or both. When the cart total is outside the configured range, the restriction triggers. For example, block checkout if cart total is below $10 (minimum order value enforcement).
Trigger the restriction when selected products are (or are not) present in the cart. Search and select products by name. Useful for isolating checkout rules to specific items — for example, blocking guest checkout only when a specific restricted product is in the cart.
Same as specific products but at category level. The condition triggers when any product from the selected categories is (or is not) in the cart.
Restrict checkout based on the customer's billing or shipping country and/or state. Select one or more countries. Optionally refine to specific states within those countries. Use this to block orders from regions you do not ship to.
Location detection uses the billing/shipping address entered at checkout, not the customer's IP address. The restriction is enforced when the customer proceeds to the payment step.
When a restriction triggers, you can display a custom message to the customer at the top of the checkout page.
Sorry, this product is only available to registered customers. Please <a href="/my-account">log in</a> to continue.If both an error message and a redirect URL are configured, the redirect takes priority and the message is not shown.
Instead of (or in addition to) showing an error message, you can redirect customers to a specific URL when a rule triggers.
https://yoursite.com/members-only).Common redirect use cases: redirect guests to the registration page, redirect customers from blocked countries to a region-specific landing page, redirect carts below minimum order to a "minimum order" notice page.
Rules can be set to only apply during a specific date range — useful for temporary promotions, holiday restrictions, or sale blackout periods.
If you leave both start and end dates blank, the rule runs indefinitely as long as it is Active.
Rule scheduling uses your WordPress timezone setting. Confirm your timezone in Settings → General → Timezone to ensure rules activate at the expected time.
You can create as many rules as needed. All active rules are evaluated every time a customer visits the cart or checkout page. Rules are evaluated in the order they appear in the rules list — drag and drop to reorder them.
As soon as one rule's conditions are met, its action (message or redirect) is triggered and evaluation stops. Subsequent rules are not evaluated for that request.
To manage rule priority: go to WooCommerce → Restrict Checkout → Rules, click and drag rules to reorder. More specific rules should generally be placed above broader ones.
When a rule contains multiple conditions, you control how they are combined:
The logic selector (All conditions must match / Any condition must match) appears at the top of the conditions section within each rule.
For complex scenarios requiring mixed logic (e.g., "A AND (B OR C)"), create multiple rules with narrower conditions rather than trying to encode all logic in one rule.
Confirm the rule status is Active. Check that the condition values are correct — for example, user role names are case-sensitive and must match exactly. If a schedule is set, verify today's date is within the range. Clear your site cache.
Review your condition values carefully. For user role rules, check whether your admin account has multiple roles — if "Administrator" is in the condition, the restriction applies to you too. Add an exclusion condition for the Administrator role to avoid blocking yourself during testing.
Check that no redirect URL is set (redirects override messages). Also confirm that WooCommerce notice display is not suppressed by your theme or a page builder plugin. Inspect the checkout page source to check whether the notice HTML is present but hidden by CSS.
Location restrictions check the address entered at checkout, not the customer's IP. The rule triggers after the customer fills in their billing/shipping address. Ensure customers are entering an address before the restriction is evaluated, and confirm the country codes in the rule match WooCommerce's country codes (ISO 3166-1 alpha-2 format, e.g., US, GB).
Our support team responds within 24 hours on business days. Email us at support@coreaddons.com and include your site URL, licence key, and a description of the issue for the fastest response.
Contact Support