Как в woocommerce изменить цену в зависимости от количества продуктов?
Скажите как мне сделать так что бы при количестве продуктов более 5 в checkout менялась цена. Мне нужно делать скидку пользователям если они покупают более 5 продуктов за одни раз. Для меня не важно отображение данной информации на сайте и оповещения. Мне главное что бы выполнялось условие. И при покупки в checkout была цена со скидкой.
Следующий пример кода сделает скидку 10% если колличество товара будет более 5 единиц.
add_action( 'woocommerce_before_calculate_totals', 'ha_add_custom_price' ); function ha_add_custom_price( $cart_object ) { foreach ( $cart_object->cart_contents as $key => $value ) { if($value['quantity'] > 5){ $discount = $value['data']->price * 0.10; $value['data']->price = $value['data']->price - $discount; } } }
Код нужно добавить в functions.php
Добрый день!
Скажите, а как доработать код, чтобы скидка в 10% применялась только к тем продуктам, которые без скидки?
применяю вот этот код, который тоже работает.
add_action('woocommerce_cart_calculate_fees' , 'add_custom_fees'); /** * Add custom fee if more than three article * @param WC_Cart $cart */ function add_custom_fees( WC_Cart $cart ){ if( $cart->cart_contents_count < 5 ){ return; } // Calculate the amount to reduce $discount = $cart->subtotal * 0.1; $cart->add_fee( 'Скидка за количество товара (от 5) в корзине 10%', -$discount); }
Заранее благодарю!