Better Usability for WooCommerce removes the small but persistent friction points that cause shoppers to abandon: waiting for full page reloads, hunting for quantity controls, and navigating an unnecessary cart step before checkout. It covers four areas — Shop, Product, Cart, and Checkout — with set
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 5.6 and PHP 7.2.
SourceWordPress plugins · Nov 4, 2026
01 / Source details
Aboutthistool.
Better Usability for WooCommerce removes the small but persistent friction points that cause shoppers to abandon: waiting for full page reloads, hunting for quantity controls, and navigating an unnecessary cart step before checkout. It covers four areas — Shop, Product, Cart, and Checkout — with settings you can mix and match to fit your store.
Free features:
Cart
Auto-refresh cart totals via AJAX when quantity changes — no “Update cart” click required
Show a confirmation prompt before quantity is reduced to zero
Hide the “Update cart” button
Shop
Change product quantity directly on the shop/archive page before adding to cart
AJAX “Add to cart” on individual product pages (same as the shop-loop behaviour)
Skip the cart page and go straight to checkout after adding a product
Customise the “Add to cart” and “View cart” button labels
Product
Low-stock urgency badge (“Only 3 left in stock!”) near the Add to Cart button on both single product and shop/archive pages — it reads WooCommerce’s own per-product stock quantity and low-stock threshold, shows only for stock-managed products at or below that threshold, and is fully customisable (badge text with a {stock} placeholder, optional custom threshold), giving hesitant shoppers a scarcity nudge with zero configuration beyond a toggle
Checkout
Allow shoppers to delete items directly from the checkout page
Allow shoppers to change quantities from the checkout page
Display the unit price next to each product name
General
Show −/+ buttons around the quantity field — choose where: Shop, Product page, Cart, Checkout
Show the quantity as a dropdown select instead of a numeric input — choose where: Shop, Product page, Cart
Lock the numeric input so shoppers can only use the +/− buttons (prevents accidental typing)
One “Updating…” text for the cart and price refreshes
Convert simple-product “Add to Cart” buttons to AJAX site-wide
Hide the “Added to cart” notice after adding a product
Hide the “View cart” link after adding a product
Set a global maximum quantity per product
Decimal quantity support for +/− buttons
Accessible, WCAG-friendly quantity controls — the −/+ buttons carry proper “Decrease quantity” / “Increase quantity” labels, work with the keyboard (Enter/Space), and announce the new quantity (and the cart refresh) to screen readers
PRO features:
Sticky Add to Cart bar — a floating bar slides in when the shopper scrolls past the Add to Cart button, keeping purchase intent alive without hunting for the button ( view demo )
Quick View modal — shoppers open a full product preview in a lightbox (image, price, description, Add to Cart) without leaving the Shop page; keyboard accessible (focus stays in the lightbox and returns to the button on close) ( view demo )
Synchronize cart quantities automatically when changed ( view demo )
Auto-update price on Product and Shop pages as quantity changes ( view demo )
Change product variations directly on the Shop page — fewer clicks to buy ( view demo )
Sync the MiniCart widget live from Shop or Product pages ( view demo )
AJAX delete on the checkout page — no full page reload ( view demo )
Change quantities inside the Mini-Cart widget, with −/+ buttons ( view demo )
Quantity as a dropdown select at checkout
Block the screen while a quantity change is saved
Get the PRO version here .
Developer hooks
Filters and actions for theme and plugin developers (in your theme’s functions.php or a small plugin):
wbu_select_max_quantity (filter) — the largest quantity the quantity select offers, also the Cart/Checkout blocks’ cap when a maximum is set; args: $max , $product
wbu_max_quantity_message (filter) — the notice when an add to cart goes past “Max product quantity allowed”; args: $message , $max , $product_id , $new_quantity
wbu_direct_checkout_url (filter) — where “Go to checkout directly” sends the shopper; args: $checkout_url , $url
wbu_cart_update_response (filter) — the classic cart’s AJAX refresh after a quantity change; args: $response , $cart_item_key
wbu_checkout_quantity_updated (action) — a quantity changed on the checkout page was saved; args: $cart_item_key , $quantity
wbu_export_settings_payload (filter) and wbu_settings_imported (action) — the Tools tab’s settings export and import
wbu_get_template (filter) — a template’s path, to use your own copy; args: $path , $name
Also: wbu_is_shop_loop , wbu_enable_quantity_input , wbu_enable_qtybuttons , wbu_qtybtn_minus / wbu_qtybtn_plus , wbu_shop_quantity_value , wbu_low_stock_threshold , wbu_frontend_vars (the settings the scripts get) and mh_wbu_settings (the settings and their defaults)
See it in action
Screenshots & previews.
Quantity −/+ buttons and AJAX "Add to cart" on the Shop pageThe cart recalculates by AJAX as soon as a quantity changes — no "Update cart" clickThe same −/+ buttons in the WooCommerce Cart blockChange or remove items right on the checkout pageGeneral settings — AJAX add to cart, quantity limit, where the −/+ buttons and the quantity select show, checkout quantitiesShop settings — quantity on the shop page, Go to checkout shortcutProduct page settings — low-stock badgeCart settings — AJAX auto-update, confirmation prompt
02 / Source details
Gettingstarted.
01Upload woo-better-usability.zip to the /wp-content/plugins/ directory
02Activate the plugin through the ‘Plugins’ menu in WordPress
03It’s done. Now you can go to the Settings to customize what you want
03 / Source details
Frequently asked questions.
Does it work with my theme?
The plugin hooks into standard WooCommerce actions and filters, so it works with the vast majority of themes out of the box. It has been specifically tested and patched for popular themes including Astra, Divi, Flatsome, Saasland, Enfold, and Greenmart. If you run into a visual glitch, try changing where the −/+ buttons show (“Show -/+ buttons around the quantity on”, General tab), or open a support thread with your theme name.
Does it work with Elementor (and other page builders)?
Yes. Compatibility patches for Elementor (including its WooCommerce widgets and minicart) are built in and have been maintained across many releases. Divi and similar builders are also supported.
Does it work with the new WooCommerce Cart and Checkout Blocks?
Partly. The global maximum quantity per product and the sold-individually / lock quantity input limits are now enforced inside the Block Cart and Block Checkout too — the block quantity steppers read these limits from the WooCommerce Store API, so they are respected regardless of whether you use the classic or Block Cart/Checkout. The confirm before removing an item prompt (also fired when the minus stepper would drop quantity to zero) works inside the Block Cart as well. The remaining Cart/Checkout tweaks (AJAX quantity change, delete from checkout, and similar) still target the classic (shortcode-based) Cart and Checkout templates and do not apply inside the Blocks — when your Cart/Checkout pages use the Blocks, the settings page hides them. The shop and product page features work regardless.
Is it compatible with WooCommerce High-Performance Order Storage (HPOS)?
Yes. HPOS compatibility has been declared since version 1.0.55.
What is the difference between the free and PRO versions?
The free version covers the core UX improvements: AJAX cart updates, +/− quantity buttons, Go-to-Checkout shortcut, and shop/product/checkout tweaks. The PRO version adds real-time cart synchronisation (quantities and prices update live), inline variation selection on the shop page, and minicart quantity controls — features that directly increase conversion on higher-traffic stores. See the PRO page for a full comparison.
The AJAX cart update is not working. What should I check?
Make sure “Update cart/prices automatically when change quantity” is on ( WooCommerce → Better Usability → Cart ) and your Cart page uses the classic [woocommerce_cart] shortcode — the Cart block updates its totals on its own. Open your browser’s developer console (F12) and check for JavaScript errors — a conflicting plugin or theme script is the most common cause. Make sure no caching plugin is serving a stale version of the page. Purge all caches after changing settings.
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati