Отобразить рассчитанную пользователем стоимость товара в WooCommerce - PullRequest
1 голос
/ 14 марта 2019

В WooCommerce я пытаюсь рассчитать цену на переменный продукт в корзине. Я хочу умножить цену товара на числовое значение некоторой пользовательской корзины.

Вот мой код:

add_filter( 'woocommerce_cart_item_price', 'func_change_product_price_cart', 10, 3 );
function func_change_product_price_cart($price, $cart_item, $cart_item_key){
    if (isset($cart_item['length'])){
        $price = $cart_item['length']*(price of variation);
        return $price;
    }

}

Расчет цены не работает. Что я делаю не так?

1 Ответ

2 голосов
/ 14 марта 2019

Аргумент $price в этом хуке представляет собой отформатированную цену товара , тогда вам нужно исходная цена , чтобы она работала в ваших пользовательских вычислениях. Вместо этого попробуйте следующее:

add_filter( 'woocommerce_cart_item_price', 'change_cart_item_price', 10, 3 );
function change_cart_item_price( $price, $cart_item, $cart_item_key ){
    if ( WC()->cart->display_prices_including_tax() ) {
        $product_price = wc_get_price_including_tax( $cart_item['data'] );
    } else {
        $product_price = wc_get_price_excluding_tax( $cart_item['data'] );
    }

    if ( isset($cart_item['length']) ) {
        $price = wc_price( $product_price * $cart_item['length'] );
    }
    return $price;
}

Это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...