Я создал купон ' BOGOF ' (купи один, получи один бесплатно), используя обычный купонный метод woocommerce.
Купон дает пользователю 100% процентную скидку на 1 другой товар в корзине.
Настройки купона
Общая информация:
Пределы использования:
- Ограничить использование X предметов: 1
При использовании:
- Купон применяет 100% к случайному элементу в корзине (поведение по умолчанию, I угадайте)
Желаемый:
- Требуется 100% скидка на самый дешевый товар в корзине.
С помощью следующего кода я пытаюсь достичь своей цели, к сожалению, без желаемого результата
function filter_woocommerce_coupon_get_discount_amount( $discount, $discounting_amount, $cart_item, $single, $instance ) {
$price_array = array();
foreach( $cart_item as $item ) {
echo $item->price;
if($item->price > 0){
array_push($price_array, $item->price);
}
}
$lowestPrice = min($price_array);
if( $lowestPrice < $discount ){
$discount = $lowestPrice;
}
return $discount;
}
add_filter( 'woocommerce_coupon_get_discount_amount', 'filter_woocommerce_coupon_get_discount_amount', 10, 5 );