Variation Upsell Compatibility Fix
A specialized WordPress plugin that enhances WooCommerce by fixing compatibility issues between product variations and upsell features. This plugin ensures that custom variation attributes (like radio button swatches) work seamlessly with upsell products, improving the shopping experience and increasing cross-sell opportunities.
by Gunjan Jaswaal · github.com/gunjanjaswal/woocommerce-variation-upsell-compatibility-wordpress
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/gunjanjaswal/woocommerce-variation-upsell-compatibility-wordpress/archive/refs/heads/master.zip🛒 WooCommerce Variation Upsell Compatibility
Make Variation Swatches and Checkout Upsell Funnel play nicely — RTL & Hebrew included
A WordPress plugin that fixes the compatibility gaps between WooCommerce Variation Swatches and the WooCommerce Checkout Upsell Funnel, so variation products work correctly inside upsell popups — on standard and RTL stores, with dedicated Hebrew RTL handling.
📑 Table of Contents
- The Problem
- Features
- Requirements
- Installation
- How It Works
- Hebrew / RTL Support
- Troubleshooting
- Changelog
- License
- Support
❗ The Problem
When a store uses variation swatches (radio / button / color / image) and an upsell funnel at checkout, the swatch selection and add-to-cart logic often break inside the upsell popup — customers can't pick a variation or add the product. On RTL stores (notably Hebrew), the layout and click handling break further. This plugin patches both.
✨ Features
| Feature | Description | |
|---|---|---|
| 🌍 | Universal Compatibility | Works on both standard (LTR) and RTL stores. |
| 🔭 | Dynamic Popup Detection | Uses a MutationObserver to catch and fix popups added on the fly. |
| 🎛️ | Variation Selection Fix | All swatch types — radio, button, color, image — select correctly in upsell popups. |
| 🛒 | Add-to-Cart Fix | Restores add-to-cart for variation products inside upsells. |
| 🧩 | Special Popup Structures | Handles unusual radio-based variation swatch markup. |
| 🇮🇱 | Hebrew RTL Support | Specialized fixes for Hebrew right-to-left WooCommerce stores. |
📋 Requirements
- WordPress 5.0+
- WooCommerce 4.0+ (tested up to 8.0)
- PHP 7.0+
- WooCommerce Variation Swatches (Pro)
- WooCommerce Checkout Upsell Funnel
🚀 Installation
- Upload the
variation-upsell-compatibilityfolder to/wp-content/plugins/. - Activate the plugin from the Plugins menu in WordPress.
- Done — there's nothing to configure. The plugin works automatically when both required plugins are active.
⚙️ How It Works
The plugin detects when both Variation Swatches and Checkout Upsell Funnel are active, then injects targeted JavaScript fixes so they cooperate inside upsell popups.
Key components:
js/variation-upsell-fix.js— general compatibility fixes for variation upsells on all stores.js/hebrew-rtl-fix.js— specialized fixes for Hebrew RTL stores, covering every swatch type.
🇮🇱 Hebrew / RTL Support
The Hebrew RTL fix provides dedicated handling for:
- Radio Button Swatches — keeps radio inputs visible and selectable.
- Button Swatches — fixes selection state and click handling.
- Color Swatches — restores selection and visual feedback.
- Image Swatches — maintains selection state and click handling.
- Select Dropdowns — correctly updates the hidden
<select>elements.
Every variation type gets optimized click handling and immediate visual feedback for a smooth RTL checkout experience.
🩺 Troubleshooting
- Open your browser console and check for JavaScript errors.
- Confirm both required plugins are active and updated to their latest versions.
- Verify your theme is WooCommerce-compatible.
📝 Changelog
1.0.8
- Fixed a critical syntax error in the Hebrew RTL fix script.
- Improved
MutationObserversetup with proper error handling. - Enhanced product-ID detection in dynamic upsell popups.
- Added support for special popup structures with radio-based variation swatches.
1.0.0
- Initial release.
📄 License
Licensed under the GPL v2 or later — see gnu.org/licenses/gpl-2.0.html.
👨💻 Author
Gunjan Jaswal — www.gunjanjaswal.me — hello@gunjanjaswal.me
☕ Support
If this plugin saved your checkout flow, consider supporting development on Ko-fi: