WP Manifestindependent plugin directory
manifest / ecommerce / wc-side-cart-order-bumps

Side Cart & Order Bumps for WooCommerce

Free WooCommerce slide-in side cart: AJAX drawer, free-shipping progress bar, in-cart cross-sells and order bumps on the native checkout. FunnelKit/CartFlows alternative.

by RG Projects · github.com/mahavirvataliya/wc-side-cart-order-bumps · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/mahavirvataliya/wc-side-cart-order-bumps/archive/refs/heads/main.zip

The free, open-source alternative to FunnelKit Cart & CartFlows ($99–$299/yr). A lightweight WooCommerce side cart (slide-in cart drawer) with a free shipping progress bar, in-drawer coupon codes, in-cart cross-sells and a one-click order bump on the native checkout — everything you need to recover abandoned carts and raise average order value, with zero bloat and zero external calls.

📖 Read the full documentation

Slide-in side cart drawer with free shipping progress bar
Slide-in AJAX cart drawer with free shipping progress bar, quantity steppers and in-cart cross-sells

✨ Features

  • 🛒 Slide-in AJAX side cart drawer — opens automatically on add-to-cart; stays perfectly in sync through WooCommerce's own fragment system. Floating cart button with live item-count badge.
  • 🚚 Free shipping progress bar — the classic "Add $12 more for free shipping" nudge. Threshold auto-detected from your Free Shipping method, or override it manually / via filter.
  • 🏷 Coupons inside the drawer — customers apply and remove coupon codes without leaving the page. Validation comes from WooCommerce core, so usage limits and expiry rules just work.
  • 🔗 In-cart cross-sells — your product cross-sells rendered inside the drawer with AJAX add-to-cart.
  • One-click order bump — a discounted offer with strikethrough pricing and a "Save X%" badge above the place-order button. Percentage or fixed-amount discounts.
  • 📊 Bump analytics — offers accepted, orders with bump, bump revenue and checkout conversion, tracked privately in your own database.
  • 🎨 Brandable — left/right drawer position plus an accent color picker that recolors the button, progress bar, coupons and bump box.
  • Accessible — dialog semantics, keyboard focus trap, Escape to close, prefers-reduced-motion support, aria-live coupon feedback.
  • 🌍 Translation-ready — all strings internationalized, .pot template included.
  • 🧹 Clean — no external HTTP calls, no tracking, no license checks, no build step; HPOS compatible; fully removed on uninstall.

🚀 Quick start

  1. Download the latest release or clone this repo, zip the folder and upload via Plugins → Add New → Upload (or copy to wp-content/plugins/).
  2. Activate the plugin.
  3. Configure under WooCommerce → Side Cart & Bumps.

Requirements: WordPress 6.0+, WooCommerce 7.0+, PHP 7.4+.

📸 More screenshots

Drawer with coupons Mobile sheet Order bump at checkout Settings + analytics
Coupon codes applied in the cart drawer Mobile full-width cart drawer Order bump on the native checkout Settings page with bump analytics

⚙️ Developer API

Small, documented surface — no hook spaghetti:

Hook Type Purpose
wscb_free_shipping_threshold filter Change the free shipping bar threshold at runtime.
wscb_setting filter Override any plugin setting at read time ($value, $key).
wscb_drawer_opened / wscb_drawer_closed JS event (body) React to the drawer opening/closing.
wscb_coupon_updated JS event (body) Fires after a coupon is applied/removed (array of applied codes).
wscb_open_drawer JS event (body) Open the drawer programmatically.
[data-wscb-open] HTML attribute Add to any element to open the drawer on click.
// Example: open the drawer from your own code.
jQuery( 'body' ).trigger( 'wscb_open_drawer' );
// Example: 150 free-shipping threshold for everyone.
add_filter( 'wscb_free_shipping_threshold', fn () => 150.0 );

AJAX endpoints (?wc-ajax=…): wscb_update_cart_item, wscb_apply_coupon, wscb_remove_coupon, wscb_toggle_bump — all nonce-protected, guests included.

❓ FAQ

Does the order bump work with the block checkout? Not yet — the bump renders on the classic [woocommerce_checkout] shortcode checkout, which most themes and checkout plugins use.

How is the free shipping threshold detected? From your configured Free Shipping methods (min_amount) across all shipping zones, falling back to the legacy setting. Override it in settings or with the wscb_free_shipping_threshold filter.

Where is the bump revenue number from? Bump line items are flagged with hidden order item meta (_wscb_bump); orders containing one count as conversions and their line totals count as revenue. Nothing leaves your server.

Does it create database tables? No. Two options rows (settings + analytics counters), both deleted on uninstall.

See the full FAQ in the docs.

🖼 Screenshots & assets

All marketing assets in .wordpress-org/ (banners, icons, screenshots for the WordPress.org listing) are rendered from HTML that inlines the plugin's real stylesheet:

python3 docs/screenshots-src/build.py   # needs Chrome + sips (macOS)

Swap in captures from your own store any time — keep the same file names.

🤝 Contributing

Bug reports and pull requests are welcome. Run php -l on changed PHP files before submitting.

📄 License

GPL-2.0-or-later. Free software — no upsells, no tracking.