{"id":285329,"date":"2026-03-16T13:06:20","date_gmt":"2026-03-16T13:06:20","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/cart-validation-for-woocommerce\/"},"modified":"2026-03-17T03:26:12","modified_gmt":"2026-03-17T03:26:12","slug":"cart-validation-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/ne.wordpress.org\/plugins\/cart-validation-for-woocommerce\/","author":18333213,"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":"Cart Validation for WooCommerce","header_author":"Sahil Multani","header_description":"Restrict WooCommerce checkout by products, categories, user roles, and more. Create powerful cart validation rules.","assets_banners_color":"aa5fd1","last_updated":"2026-03-17 03:26:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/cart-validation-for-woocommerce\/","header_author_uri":"https:\/\/profiles.wordpress.org\/sahilmultani\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":161,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"sahilmultani","date":"2026-03-17 03:26:12"}},"upgrade_notice":{"":"<p>Automatic updates should work great for you.  As always, though, we recommend backing up your site prior to making any updates just to be sure nothing goes wrong.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3483876,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3483876,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3483876,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3483876,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3483876,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3483876,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3483876,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3483876,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"Set the general settings for validation","2":"Set the default error message for validation","3":"Manage the cart validation rules on listing page","4":"Set the validation rules configuration","5":"Set conditions for the cart validation","6":"Cart page with the checkout restriction message"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[257920,176911,19870,50365,164770],"plugin_category":[],"plugin_contributors":[209154],"plugin_business_model":[],"class_list":["post-285329","plugin","type-plugin","status-publish","hentry","plugin_tags-cart-restriction","plugin_tags-checkout-restriction","plugin_tags-country-restriction","plugin_tags-order-restriction","plugin_tags-product-restriction","plugin_contributors-sahilmultani","plugin_committers-sahilmultani"],"banners":{"banner":"https:\/\/ps.w.org\/cart-validation-for-woocommerce\/assets\/banner-772x250.png?rev=3483876","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/cart-validation-for-woocommerce\/assets\/icon-256x256.png?rev=3483876","icon_2x":"https:\/\/ps.w.org\/cart-validation-for-woocommerce\/assets\/icon-256x256.png?rev=3483876","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/cart-validation-for-woocommerce\/assets\/screenshot-1.png?rev=3483876","caption":"Set the general settings for validation"},{"src":"https:\/\/ps.w.org\/cart-validation-for-woocommerce\/assets\/screenshot-2.png?rev=3483876","caption":"Set the default error message for validation"},{"src":"https:\/\/ps.w.org\/cart-validation-for-woocommerce\/assets\/screenshot-3.png?rev=3483876","caption":"Manage the cart validation rules on listing page"},{"src":"https:\/\/ps.w.org\/cart-validation-for-woocommerce\/assets\/screenshot-4.png?rev=3483876","caption":"Set the validation rules configuration"},{"src":"https:\/\/ps.w.org\/cart-validation-for-woocommerce\/assets\/screenshot-5.png?rev=3483876","caption":"Set conditions for the cart validation"},{"src":"https:\/\/ps.w.org\/cart-validation-for-woocommerce\/assets\/screenshot-6.png?rev=3483876","caption":"Cart page with the checkout restriction message"}],"raw_content":"<!--section=description-->\n<p><strong>Cart Validation for WooCommerce<\/strong> allows store owners to create advanced conditional cart rules and restrict checkout based on products, categories, user roles, and more.<\/p>\n\n<p>Easily prevent incompatible purchases, block restricted countries, restrict product combinations, and control checkout behavior using flexible AND\/OR rule logic.<\/p>\n\n<p>Whether you sell regulated products, wholesale items, same-day delivery products, or member-only items \u2014 this plugin gives you full control over WooCommerce cart validation.<\/p>\n\n<p>No coding required.<\/p>\n\n<h3>\ud83d\udcd2 Why You Need This Plugin<\/h3>\n\n<p>Many WooCommerce stores face issues like:<\/p>\n\n<ul>\n<li>Customers mixing incompatible products<\/li>\n<li>Country-based product restrictions<\/li>\n<li>Role-based purchasing limitations<\/li>\n<li>Delivery conflicts (same-day vs standard items)<\/li>\n<li>Regulatory compliance (alcohol, digital goods, region-specific products)<\/li>\n<\/ul>\n\n<p>By default, WooCommerce does not allow advanced conditional checkout restrictions.<\/p>\n\n<p><strong>Cart Validation for WooCommerce<\/strong> solves this.<\/p>\n\n<h3>\ud83d\udcd2 Key Features<\/h3>\n\n<h4>1. Enable \/ Disable Cart Validation<\/h4>\n\n<p>Turn cart validation rules on or off anytime with one click.<\/p>\n\n<h4>2. Stop at First Validation Error (Advanced Error Handling)<\/h4>\n\n<p>Choose how validation errors behave:<\/p>\n\n<p>\u2714 Show only the first error (clean UX)<\/p>\n\n<p>\u2714 Show all matching validation errors at once<\/p>\n\n<p>This gives store owners better control over customer experience.<\/p>\n\n<h4>3. Default Global Error Message<\/h4>\n\n<p>Set a default validation error message that applies to all rules.<\/p>\n\n<p><strong>Example: <\/strong>\"Your cart contains restricted items. Please review your cart before proceeding.\"<\/p>\n\n<p>You can override this message per rule.<\/p>\n\n<h4>4. Advanced Conditional Rule Builder<\/h4>\n\n<p>Create powerful rules using:<\/p>\n\n<h4>\u2714 Country-Based Restrictions<\/h4>\n\n<p>Restrict purchases based on shipping country.<\/p>\n\n<p><strong>Example: <\/strong>\"Alcohol cannot be purchased in restricted countries.\"<\/p>\n\n<h4>\u2714 Cart Contains Product<\/h4>\n\n<p>Restrict specific product combinations.<\/p>\n\n<p><strong>Example: <\/strong>\"A printer cannot be purchased with incompatible ink cartridges.\"<\/p>\n\n<h4>\u2714 Cart Contains Category<\/h4>\n\n<p>Prevent mixing products from specific categories.<\/p>\n\n<p><strong>Example: <\/strong>\"Customers cannot mix \u201cSame-Day Delivery\u201d items with regular products.\"<\/p>\n\n<h4>\u2714 User Role-Based Restrictions<\/h4>\n\n<p>Apply rules based on customer roles.<\/p>\n\n<p><strong>Example: <\/strong>\"Only logged-in users can purchase premium products.\"<\/p>\n\n<h4>5. AND \/ OR Conditional Logic<\/h4>\n\n<p>Combine multiple conditions using:<\/p>\n\n<ul>\n<li>AND logic (all conditions must match)<\/li>\n<li>OR logic (any condition can match)<\/li>\n<\/ul>\n\n<p>This allows advanced rule combinations like:<\/p>\n\n<p>-- Restrict checkout if cart contains Category = \u201cAlcohol\u201d AND Country = \u201cGermany\u201d\nOr\n-- Restrict checkout if user role = Guest OR Country = Restricted List<\/p>\n\n<h4>5. Schedule Rules with Start &amp; End Dates<\/h4>\n\n<p>Set rule activation dates.<\/p>\n\n<p>Perfect for:<\/p>\n\n<ul>\n<li>Holiday restrictions<\/li>\n<li>Temporary promotions<\/li>\n<li>Regulatory changes<\/li>\n<li>Seasonal product limitations<\/li>\n<\/ul>\n\n<p><strong>Example: <\/strong>\"Restrict fireworks products outside festival dates.\"<\/p>\n\n<h3>\ud83d\ude80 Real World Use Cases<\/h3>\n\n<h4>1. Restrict WooCommerce Checkout Based on Product and Shipping Country<\/h4>\n\n<p>Example:<\/p>\n\n<ol>\n<li>If cart contains \u201cAlcohol\u201d<\/li>\n<li>AND shipping country = Restricted Country<\/li>\n<li>Block checkout<\/li>\n<\/ol>\n\n<p>Perfect for compliance-based businesses.<\/p>\n\n<h4>2. Same-Day Delivery Product Isolation<\/h4>\n\n<ol>\n<li>If cart contains category \u201cSame-Day Delivery\u201d<\/li>\n<li>Do not allow other categories.<\/li>\n<li>Error message: Same-Day Delivery items must be purchased separately.<\/li>\n<\/ol>\n\n<h4>3. Members-Only Products<\/h4>\n\n<ol>\n<li>If user role = Guest<\/li>\n<li>AND cart contains Premium Category<\/li>\n<li>Block checkout<\/li>\n<\/ol>\n\n<h4>4. Wholesale Protection<\/h4>\n\n<ol>\n<li>If user role \u2260 Wholesaler<\/li>\n<li>AND cart contains Wholesale Category<\/li>\n<li>Block checkout<\/li>\n<\/ol>\n\n<h4>4. Incompatible Product Protection<\/h4>\n\n<ol>\n<li>If cart contains Product A<\/li>\n<li>AND Product B<\/li>\n<li>Show restriction error<\/li>\n<\/ol>\n\n<p>Prevents order mistakes and support tickets.<\/p>\n\n<h3>\ud83d\udc81 Who Is This Plugin For?<\/h3>\n\n<ol>\n<li>Alcohol &amp; regulated product sellers<\/li>\n<li>Wholesale &amp; B2B stores<\/li>\n<li>Membership stores<\/li>\n<li>Delivery-based stores<\/li>\n<li>International WooCommerce stores<\/li>\n<li>Stores with incompatible product combinations<\/li>\n<li>Compliance-heavy businesses<\/li>\n<\/ol>\n\n<h3>\u260e\ufe0f CONTACT US<\/h3>\n\n<ul>\n<li><strong>Free plugin:<\/strong> Need Technical Help? - <a href=\"https:\/\/wordpress.org\/support\/plugin\/cart-validation-for-woocommerce\/\">Click here<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Minimum Requirements<\/h4>\n\n<ul>\n<li>WordPress 3.7 or greater<\/li>\n<li>PHP version 5.3.2 or greater<\/li>\n<li>MySQL version 5.0 or greater<\/li>\n<\/ul>\n\n<h4>Automatic installation<\/h4>\n\n<p>Automatic installation is the easiest option as WordPress handles the file transfers itself and you don't even need to leave your web browser. To do an automatic install of Cart Validation for WooCommerce, log in to your WordPress admin panel, navigate to the Plugins menu and click Add New.<\/p>\n\n<p>In the search field type \"Cart Validation for WooCommerce\" and click Search Plugins. Once you have found our plugin you can install it by simply clicking Install Now. After clicking that link you will be asked if you are sure you want to install the plugin. Click yes and WordPress will automatically complete the installation.<\/p>\n\n<h4>Manual installation<\/h4>\n\n<p>The manual installation method involves downloading our plugin and uploading it to your web server via your favorite FTP application.<\/p>\n\n<ol>\n<li>Download the plugin file to your computer and unzip it<\/li>\n<li>Using an FTP program, or your hosting control panel, upload the unzipped plugin folder to your WordPress installation's wp-content\/plugins\/ directory.<\/li>\n<li>Activate the plugin from the Plugins menu within the WordPress admin.<\/li>\n<\/ol>\n\n<h4>Questions?<\/h4>\n\n<p>If you have any questions please feel free to post them to the <a href=\"https:\/\/wordpress.org\/support\/plugin\/cart-validation-for-woocommerce\"><strong>support forum<\/strong>.<\/a><\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20block%20checkout%3F\"><h3>Does this plugin block checkout?<\/h3><\/dt>\n<dd><p>Yes. If cart conditions match a restriction rule, checkout is blocked and an error message is displayed.<\/p><\/dd>\n<dt id=\"can%20i%20show%20multiple%20validation%20errors%20at%20once%3F\"><h3>Can I show multiple validation errors at once?<\/h3><\/dt>\n<dd><p>Yes. You can enable or disable \u201cStop at First Validation Error\u201d from general settings.<\/p><\/dd>\n<dt id=\"can%20i%20restrict%20checkout%20by%20country%3F\"><h3>Can I restrict checkout by country?<\/h3><\/dt>\n<dd><p>Yes. You can block purchases based on the customer\u2019s shipping country.<\/p><\/dd>\n<dt id=\"can%20i%20restrict%20product%20combinations%3F\"><h3>Can I restrict product combinations?<\/h3><\/dt>\n<dd><p>Yes. You can restrict specific products or categories from being purchased together.<\/p><\/dd>\n<dt id=\"can%20i%20schedule%20cart%20validation%20rules%3F\"><h3>Can I schedule cart validation rules?<\/h3><\/dt>\n<dd><p>Yes. You can set start and end dates for each rule.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20user%20roles%3F\"><h3>Does this work with user roles?<\/h3><\/dt>\n<dd><p>Yes. You can restrict checkout based on WooCommerce user roles.<\/p><\/dd>\n<dt id=\"does%20this%20require%20coding%20knowledge%3F\"><h3>Does this require coding knowledge?<\/h3><\/dt>\n<dd><p>No. Everything works through an easy rule builder interface.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Restrict WooCommerce checkout by products, categories, user roles, and more. Create powerful cart validation rules.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/285329","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=285329"}],"author":[{"embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sahilmultani"}],"wp:attachment":[{"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=285329"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=285329"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=285329"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=285329"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=285329"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ne.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=285329"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}