Условие в functions.php


add_action('woocommerce_cart_calculate_fees' , 'add_custom_fees');

function add_custom_fees( WC_Cart $cart ){

if( $cart->cart_contents_count < 6 ){

return;

}

$cart->add_fee( 'более 5 шт.', 200);

}


Его суть, если в корзине товара больше 5 шт. то +200 руб. к стоимости…

Може кто подскажет, как сделать, чтобы было условие:
если более 5 но менее 10 — 200
а если более 10 но менее 15 — 400

в общем
от 6 до 10 шт. — 200
от 11 до 15 шт. — 400
от 16 до 20 шт. — 600

Заранее благодарю!

Добавить Комментарий

if( ($cart->cart_contents_count >= 6)  && ($cart->cart_contents_count <=10) ){
$cart->add_fee( '6 - 10', 200);
}
 
if( ($cart->cart_contents_count >= 11)  && ($cart->cart_contents_count <= 15) ){
$cart->add_fee( '11 - 15', 400);
}
 
if( ($cart->cart_contents_count >= 16)  && ($cart->cart_contents_count <=20) ){
$cart->add_fee( '16 - 20', 600);
}

Спасибо!

Но такой код ломает систему (чистый лист).

Я тут, вот такой код сообразил:

function woo_discount_total(WC_Cart $cart) {
$wo_current_price = $cart->subtotal;
if($cart->cart_contents_count >= 1 && $cart->cart_contents_count <= 5) {
$cart->add_fee("(1-5) шт. ", 0);
} elseif($cart->cart_contents_count >= 6 && $cart->cart_contents_count <= 10) {
$cart->add_fee("(6-10) шт. ", 200);
} elseif($cart->cart_contents_count >= 11 && $cart->cart_contents_count <= 15) {
$cart->add_fee("(11-15) шт. ", 400);
} elseif($cart->cart_contents_count >= 16 && $cart->cart_contents_count <= 20) {
$cart->add_fee("(6-20) шт. ", 600);

}

}

add_action("woocommerce_cart_calculate_fees" , "woo_discount_total");

Правда… когда в заказе менее 5 шт. в корзине все нормально отображается, 0 руб., а вот в письме о заказе, этот пункт пропадает.

А вот, если 6-ть и более, то все нормально везде.

в 26.11.2018.

если в условии от 1 до 5 поставить 1, вместо 0

if($cart->cart_contents_count >= 1 && $cart->cart_contents_count <= 5) {
$cart->add_fee("(1-5) шт. ", 1);

то все нормально становится
блин, а хотелось бы, чтобы так 0 руб. и тображался, а не 1 руб.

в 26.11.2018.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.