Conditional Add to Cart for WooCommerce
Conditionally hide, disable, customize, or replace the WooCommerce Add to Cart button — no code required. Conditional Add to Cart lets you create rules that automatically control the “Add to Cart” button based on conditions you define. Hide the button for guests, disable it until a minimum order is met, replace it with a quote form for wholesale customers, or restrict purchases by country or user role. Perfect for wholesale stores, B2B shops, membership sites, and any WooCommerce store with special purchasing requirements. Common Use Cases Wholesale & B2B Stores – Hide Add to Cart for guests, require login to see pricing – Show “Request Quote” button for wholesale user roles – Different buttons for different customer roles Minimum Order Requirements – Disable Add to Cart until cart reaches a minimum subtotal – Show “Minimum $50 Required” message until threshold is met – Custom messages for minimum order rules Restrict Purchase by User Role – Show products only to specific WordPress user roles – “Members Only” access for logged-in users – Different Add to Cart behavior per role Geographic Restrictions – Hide Add to Cart for customers in specific countries – “Not Available in Your Region” messages – Country-specific purchasing rules Pre-Orders & Coming Soon – “Pre-Order – Ships March 15” custom buttons – “Coming Soon – Notify Me” for unreleased products – Custom launch date messaging Key Features Multiple Rules System Create multiple rules. Each rule can have different conditions, target different products, and perform different actions. Powerful Conditions Product Conditions: Product Price – Target items within a price range Product Stock Status – Target items with a defined stock status Product Tag – Target items by product tag Product Attribute (Pro) – Target items by any product attribute value (color, size, material, etc.) Product on Sale (Pro) – Target items with active sale prices Cart Conditions: Cart Contains Product – Check if specific products are in cart Cart Quantity – Total number of items in cart Cart Subtotal – Cart value before tax/shipping Cart Total – Final cart value including tax/shipping Cart Contains Category (Pro) – Check if category products are in cart User Conditions: User Role – Target by WordPress user role (Customer, Wholesale, Subscriber, etc.) User Login Status – Logged in or guest User Country – Geographic targeting (multiple countries supported) Time Conditions (Pro): Time – Daily recurring time windows (business hours, flash sales) Date/Time – Specific dates and times (product launches, deadlines) Day of Week – Target specific days (weekdays, weekends, etc.) 5 Powerful Actions Disable Purchase – Disable the Add to Cart button completely with optional custom message Customize Button – Change button text, colors, and add a redirect URL Replace Button – Show custom HTML, shortcodes, or alternative content Request Quote (Pro) – Display a quote form with email notifications and custom fields Hide Price (Pro) — Any rule can optionally hide the product price. Replace it with custom text like “Login to see price” with an optional link. Combines with any action — hide price + show quote button, hide price + disable purchase, etc. Flexible Product Targeting All Products – Apply rule to entire store Specific Products – Select individual products from searchable dropdown Product Categories – Target entire categories (includes subcategories) All Except Products (Pro) – Exclude specific products from rule Specific Variations (Pro) – Target individual product variations Smart Condition Logic AND/OR logic for complex rules Multiple condition groups Rule priority ordering — drag & drop (Pro) Free vs Pro Free Version Includes One rule 10 conditions: product price, stock status, product tag, cart contains product, cart quantity, cart subtotal, cart total, user role, user login status, user country Disable, Customize Button, and Replace Button actions Product and category targeting AND/OR condition logic Pro Version Adds Multi-rules system Rule enable/disable toggles Drag & drop rule priority ordering 6 additional conditions: Product on Sale, Product Attribute, Cart Contains Category, Time, Date/Time, Day of Week Hide Price toggle — hide or replace the price with custom text and optional link (combinable with any action) Request Quote action with email notifications Redirect URLs for Customize Button action “All Except Products” targeting Product variation targeting Custom “not available” messages for Disable action Priority email support Upgrade to Pro → How It Works Step 1: Create a Rule Give your rule a descriptive name like “Disable for Guests” or “Wholesale Quote Request”. Step 2: Target Products (Apply to) Select which products the rule affects: all products, specific products, or product categories. Step 3: Set Conditions (When) Choose when the rule should apply: user role, cart total, login status, country, and more. Step 4: Choose Action (Then) Decide what happens to the Add to Cart button: hide it, customize text and colors, replace with custom HTML, or show a quote form (Pro). Step 5: Save & Test Enable the rule and test it on your store. Toggle it off anytime without deleting. Example Rules Example 1: Minimum Order Amount When: Cart total less than $50 What: All products Then: Customize button text to “Minimum $50 Required” Example 2: Members Only Products When: User is not logged in What: Category “Premium” Then: Replace button with “Login to Purchase” link Example 3: Country Restrictions When: User country is “Canada” or “Mexico” What: Specific products Then: Disable Add to Cart with message “Not available in your region” Example 4: Wholesale User Role When: User role is “Wholesale Customer” What: All products Then: Replace Add to Cart with a Request Quote form Theme Compatibility Works with all WooCommerce-compatible themes including Storefront, Astra, Divi, Flatsome, OceanWP, Avada, GeneratePress, Kadence, and more. Page Builder Compatibility Elementor, WPBakery, Beaver Builder, Gutenberg, Oxygen. Privacy Policy This plugin does not collect, store, or share any personal data. All rules and conditions are stored locally in your WordPress database. The Pro version’s Request Quote feature collects form submissions (name, email, message) which are sent to the store admin email. This data is not stored by the plugin or sent to external services.
Top keywords
- cart30×3.16%
- product22×2.32%
- products19×2.00%
- user17×1.79%
- button15×1.58%
- pro14×1.47%
- rule13×1.37%
- add12×1.26%
- add to cart11×1.16%
- conditions11×1.16%
- disable11×1.16%
- hide11×1.16%
Enhanced AJAX Add to Cart for WooCommerce
Use the block or shortcode to display a lightweight, smart, and flexible Add to Cart button inline with any content, on any page you desire. This extension for WooCommerce allows you to render a non-redirect button with an associated quantity field. Create effective and functional buttons to use for your or your customers convenience anywhere on your site you want! Find the newly released Pro version here! Premium now has a GROUP shortcode! [a2c_group_buttons product={1,2,3,4…} order={“title,quantity,separator,price,description”} // any order you want, also accepts first letters as arguments “q,s,t,p,d” for example. class={STRING} button_text={STRING} title={none|attribute} quantity={INTEGER}… /] Breaking Changes in 2.0 found here Lightweight We consider our product and its displaying components to be lightweight. The Add to Cart interaction is one of the key moments prior to the decision of a customer finishing their checkout. Understanding that, we are trying to deliver the smallest payload possible when it comes to html and assets. Keeping our html lightweight already, if objects are not displayed (e.g. title or price) then the html is never generated, rather than relying on css. Smart Keeping with the theme of lightweight and optimized, assets, which are separated by their uses, will only be loaded when they are used! Not only that, but the button will become disabled (by default) if the associated product is now out of stock (toggled in the settings). Flexible Through the block interface, you can change entirely the order of all parts of the product info & button. Toggling fields on and off, you can make the area fit the way you dream it! Many plugins we have used in the past feel overbearing when it comes to styling, sometimes making it hard to apply styles to help the plugin fit your theme. We left the themeing to you, using some base classes on elements like the buttons and quantity fields that we found let most themes do base styling to the elements. Block Documentation New “AJAX Add to Cart Block”! and New “Group AJAX Add to Cart Block”! New and improved interface to create flexible components on any page of your website that has the block editor enabled! Easily toggle displays and drag-and-drop to move around objects to change the appearance of the add to cart component on the front end. The major difference between the blocks is the Group AJAX add to cart block allows the selection of multiple products. The selected display settings and styling will be applied to all products the same in that block. Not only does the block have all the features the shortcode does, but expands further upon that allowing you to change the display order of each individual component using a visual editor! The block also has a product select tool so you no longer have to remember individual product or variation IDs Block fields available: – Title – Separator – Price – Quantity – Button – Image (premium setting) – Custom text field (premium setting) – Short Description (premium setting) Shortcode Documentation New Shorter Shortcode: [a2c_button /] and [ajax_add_to_cart /] are now options for the original [enh_ajax_add_to_cart_button /] The required field for every button is the product, with six optional fields: – variation (used for variable products) – title (to reflect the label before the button) – quantity (sets the default quantity AND hides the quantity checkbox) – show_quantity (if quantity is specified, re-enables the checkbox) – show_price – button_text – class – order (overrides show_quantity, show_price) Original single button shortcode: [a2c_button product={pid} variation={vid} class={STRING} order={"title,quantity,separator,price,description"} // any order you want, also accepts first letters as arguments "q,s,t,p,d" for example. show_price={beginning|b|after|a|rear|r} button_text={STRING} title={none|attributes|att|attribute} quantity={INTEGER} show_quantity={yes} /] Documentation notes: – The curly brackets “{ }” denote a list of options separated by a pipe ” | ” – With the exception of “pid” and “vid” options, the lower case “options” within the curly braces are to represent different settings available for the front end display order. These will soon be deprecated for a new property “order” – “pid” represents a product id, INTEGER value. – “vid” represents a variation id, INTEGER value. – STRING and INTEGER are to represent types. – INTEGER expects a whole number, and decimals are not fully supported yet. – STRING can have spaces in it if enclosed in quotes (“This is a string.”) otherwise it will take 1 word. Legacy shortcodes will remain working and will always take the options above: [enh_ajax_add_to_cart_button product={pid} variation={vid} /] [ajax_add_to_cart product={pid} variation={vid} /] SIMPLE PRODUCT: Use only the required parameters to make a quantity box and add to cart button for a simple product with the title to the left: [a2c_button product=42 ] Refer to screenshot 1 below to see the output VARIABLE PRODUCT: Use the product and variation parameters to make a quantity box and add to cart button for a specific variation of a variable product, with the fully qualified name: [a2c_button product=3312 variation=3313 ] Refer to screenshot 2 below to see the output Use the product and variation parameters to make a quantity box and add to cart button for a specific variation of a variable product, with only the variation attributes listed separated with a space as the name: [a2c_button product=3312 variation=3313 title=attributes ] Refer to screenshot 3 below to see the output Use the product and variation parameters to make a quantity box and add to cart button for a specific variation of a variable product, with no name listed: [a2c_button product=3312 variation=3313 title=none ] Refer to screenshot 4 below to see the output Use the button_text parameter to change the text on the Add to Cart button! (Strips out HTML tags) Use double quotes ( “like this” ) to get a phrase with spaces [ajax_add_to_cart product=3312 variation=3313 button_text="Add this to cart!" ] Use the show_price parameter to make a price field appear, with the options being before the title, after the title but before the quantity/add to cart button, or at the very rear of the line! Beginning [ajax_add_to_cart product=3312 variation=3313 show_price=b ] After Title [ajax_add_to_cart product=3312 variation=3313 show_price=a ] Rear (After Button) [ajax_add_to_cart product=3312 variation=3313 show_price=r ]