woocommerce рассчитывает итоговую сумму и итоги корзины - PullRequest
0 голосов
/ 15 октября 2019

Как вы можете видеть на картинке, у меня есть корзина с двумя продуктами.

Каждый из продуктов имеет несколько дополнений. «Аддон № 1» стоит 20 франков.

Если покупатель выбирает 3 продукта «тестовый продукт 1» и добавляет 2 «аддона №1», я хочу сначала вычислить количество и , а затем добавить стоимостьаддоны .

Например, на изображении для первого товара в корзине 120 * 3 = 360, а затем 2 дополнения * 20 = 40, я хочу, чтобы в Total было 400. enter image description here

Я попробовал некоторые действия, такие как woocommerce_after_calculate_totals, woocommerce_cart_item_subtotal, woocommerce_cart_product_subtotal, но даже если я получу желаемый результат, общая стоимость корзины будет неправильной, она не включаетаддоны. enter image description here

function add_addons_to_total_price( $product_subtotal, $product, $quantity, $cart ) {
    $subtotal_product_price = 0;
    $product_price = $product->get_price();
    $subtotal_product_price = $product_price * $quantity;
    foreach( $cart->get_cart() as $key=>$value ) {
        if( isset( $value['total_addons_price'] ) ) {
            $subtotal_product_price += $value['total_addons_price'];
        }
    }
    return ($subtotal_product_price) ? wc_price($subtotal_product_price) : $product_subtotal;
}
add_filter( 'woocommerce_cart_product_subtotal', 'add_addons_to_total_price', 10, 4 );

Есть ли у вас какие-либо идеи о том, как изменить общую стоимость каждого элемента в корзине и обновить общую стоимость корзины?

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