I have a variable product with 2 different variations. Both variations use inventory at the product level. The stock is at 3 and I have the following two variations:
- Buy with 1 credit
- Buy with 3 credits
The stock of the product is 3 and when someone with 3 credits buys the product, 3 is also deducted from the stock by means of a custom-written function, so that the stock becomes 0 and the product is no longer visible.
When someone buys the product with 1 credit, 1 is deducted from the stock, so that the stock becomes 2. If this happens I would like the variation "Buy with 3 credits" to become inactive or not visible anymore.
How can I check through a function when the stock is equal or less than 2 and make sure that "Buy with 3 credits" variation is no longer visible or becomes inactive? - SKU always starts with "003*****"
So if product inventory is equal or less than 2 and SKU starts with 003, then the product variation will not show.
I already got this working, how can I also check if the SKU of this variable starts with "003"?
add_filter( 'woocommerce_variation_is_active', 'grey_out_variations_out_of_stock', 10, 2 );
function grey_out_variations_out_of_stock( $is_active, $variation ) {
if ( $variation->get_stock_quantity() == 2 ) return false;
return $is_active;
}