When your variable product has more than 30 variations, WooCommerce starts to use ajax to load your selected variation. This changes the way the dropdown fields work โ€“ where before you could select some options and others would become unavailable/disabled, now you have to select all options before finding out the variation you selected is not available. You may have noticed this when using our WooCommerce Attribute Swatches plugin to change your product dropdowns into graphical swatches.

Fortunately, as with most things WooCommerce, you can modify this setting. Try adding this to your themeโ€™s functions.php file:

function iconic_wc_ajax_variation_threshold( $qty, $product ) {
    return 50;
}

add_filter( 'woocommerce_ajax_variation_threshold', 'iconic_wc_ajax_variation_threshold', 10, 2 );

This means ajax will only kick in when there is more than 50 variations. You can adjust this accordingly.

You could also use the $product object to do this for a specific product only. Very useful!