Si quieres deshabilitar las variaciones de productos agotados en tu tienda de WooCommerce de forma que no puedan ser clickables desde el propio producto pero que permanezcan visibles en él, usa el siguiente snippet en el archivo functions.php de tu theme
function wcbv_variation_is_active( $active, $variation ) { if( ! $variation->is_in_stock() ) { return false; } return $active; } add_filter( 'woocommerce_variation_is_active', 'wcbv_variation_is_active', 10, 2 );
Fuente: https://pluginrepublic.com/display-stock-variations-unavailable-woocommerce/