I honestly thought I’d seen every way a checkout could break until the recent 10.5 release cycle. Suddenly, variable products across thousands of stores just stopped working, leaving merchants with a “dead” button and zero sales. If you’ve been seeing a disabled “Add to Cart” button on your product pages, the WooCommerce 10.5.2 update is the fix you’ve been waiting for.
We previously discussed the initial break in version 10.5.1, but it turns out the “fix” wasn’t surgical enough. This latest dot release is essentially a full-scale retreat—reverting the logic that tried to be too clever with script loading states.
Why the WooCommerce 10.5.2 Update Matters
In WooCommerce 10.5, the core team introduced a change meant to prevent users from clicking “Add to Cart” before the variation scripts had fully initialized. Specifically, the button was disabled by default and only enabled once the wc-add-to-cart-variation script reported for duty. Furthermore, this created a massive race condition for any store that dequeued standard scripts or used custom front-end logic to handle product options.
Consequently, if your theme or a third-party plugin modified how add-to-cart-variation.js was loaded, the button stayed disabled forever. Therefore, WooCommerce 10.5.2 reverts the Pull Requests #63262 to restore the original, more permissive behavior.
The Regression Breakdown
The core issue was a classic case of assuming everyone uses the default tech stack. If you refactored your product page to be high-performance by selectively loading scripts, you likely got hit. Here is the type of logic that was causing the bottleneck:
// The logic that caused the bug (Simplified Concept)
jQuery( '.variations_form' ).on( 'check_variations', function() {
// If this event never fired because of a custom script conflict,
// the button remained in a 'disabled' state.
$( '.single_add_to_cart_button' ).removeClass( 'disabled' );
});
By reverting these changes, WooCommerce 10.5.2 ensures that the button remains functional even if your variation scripts are customized or delayed. However, you should still use proper testing tools before pushing this to production.
How to Safely Update via WP-CLI
Specifically for those managing multiple sites, don’t just click “Update” in the dashboard and pray. Use WP-CLI to handle the update and clear your transients immediately after. This avoids stale variation data causing further confusion.
# Update WooCommerce to the latest stable version
wp plugin update woocommerce --version=10.5.2
# Clear WooCommerce Transients to ensure variation logic is fresh
wp eval 'wc_delete_product_transients();'
# Flush object cache if you are using Redis or Memcached
wp cache flush
Look, if this WooCommerce 10.5.2 update stuff is eating up your dev hours, let me handle it. I’ve been wrestling with WordPress since the 4.x days.
Final Takeaway for Developers
This release is a reminder that “safeguarding” the UI by disabling buttons can easily backfire in a modular ecosystem like WordPress. If you modified your variable.php template or are using a “Variation Swatches” plugin, check your product pages immediately after updating. You can find the full release notes on the WooCommerce Developer Blog or track the changes in the official GitHub repository.