Я пытаюсь сделать свои переменные продукты более дорогими, когда они попадают под определенное количество.Что-то вроде обратной скидки.
Я узнал, как изменить цену и как получить массив вариационного количества акций, только то, как заставить обе вещи работать вместе, все еще остается для меня загадкой.Может кто-нибудь помочь?
// Variable
add_filter('woocommerce_product_variation_get_regular_price', 'jp_custom_price', 99, 2 );
add_filter('woocommerce_product_variation_get_price', 'jp_custom_price' , 99, 2 );
// Variations (of a variable product)
add_filter('woocommerce_variation_prices_price', 'jp_custom_variation_price', 99, 3 );
add_filter('woocommerce_variation_prices_regular_price', 'jp_custom_variation_price', 99, 3 );
function jp_custom_price( $price ) {
global $product;
if ($product->is_type( 'variable' )){
$variations = $product->get_available_variations();
foreach ( $variations as $variation ) {
$variation_o = new WC_Product_Variation( $variation['variation_id'] );
$variations_stock = $variation_o->get_stock_quantity();
if ($variations_stock <= 100) {
return $price * 1.2;
} elseif ($variations_stock <= 50) {
return $price * 1.5;
} else {
return $price;
}
}
}
}
function jp_custom_variation_price( $price, $variation, $product ) {
return $price;
}
Идея состоит в том, что если у вариации количество запаса меньше 100, цена умножается на 1,2.Когда количество падает ниже 50, оно должно быть умножено на 1,5.