'', 'class' => '', ); if ( ! $product ) { return $product_availability; } $product_availability = $product->get_availability(); // If the product is a variable product, make sure at least one of its // variations is purchasable. if ( isset( $product_availability['class'] ) && ( 'in-stock' === $product_availability['class'] || 'available-on-backorder' === $product_availability['class'] ) && ProductType::VARIABLE === $product->get_type() ) { if ( ! $product->has_purchasable_variations() ) { $product_availability['availability'] = __( 'Out of stock', 'woocommerce' ); $product_availability['class'] = 'out-of-stock'; } } return $product_availability; } }