Woocommerce Абсолютная скидка на c простых продуктов - PullRequest
0 голосов
/ 08 января 2020

Прежде всего, у меня есть несколько простых продуктов в моем магазине Woocommerce. Если клиент берет 2 штуки одного продукта, цена не должна удваиваться. Вместо этого Продукт А стоит 40 за 1 штуку, а если покупатель хочет вторую штуку, он должен стоить 20, то есть всего 60. Продукт Б - 1 единица стоит 25, а 2 единицы должны стоить, например, 40.

I Я пытался добавить абсолютное значение к сумме корзины, но даже это не работает (нашел этот код в stackoverflow).

  function add_discount_price_absolute( $cart_object ) {
    global $woocommerce;
    $custom_discount_absolute = 15; // custom discount percent
    $pdtcnt=0;

    foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item) {
        $pdtcnt++;
        if($pdtcnt>1) { // from second product
            $oldprice = $cart_item['data']->price; //original product price
            $newprice = $oldprice + $custom_discount_absolute; //discounted price
            $cart_item['data']->set_price($newprice);
        }        
    }
}

add_action( 'woocommerce_before_calculate_totals', 'add_discount_price_absolute' );

Буду очень признателен за вашу помощь. Спасибо

1 Ответ

0 голосов
/ 08 января 2020
function add_discount_price_absolute( $cart_object ) {  
    $new_price = 20;

    foreach ($cart_object->cart_contents as $key => $cart_item ) {          
        $product = wc_get_product( $cart_item['product_id'] );
        $productcount = $cart_item['quantity'];

        //echo '', print_r($cart_item, 1), '
'; if ($ productcount> 1) {// из второго продукта $ cart_item ['data'] -> set_price ($ new_price); }}} add_action ('woocommerce_before_calculate_totals', 'add_discount_price_absolute', 10, 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...