W C () -> cart-> fee_total и W C () -> cart-> get_fee_total () показывают ноль на странице оформления заказа при добавлении комиссии - PullRequest
0 голосов
/ 26 января 2020

У нас есть модуль редактора полей оформления заказа, который может прикрепить комиссию к полю опции, чтобы при выборе такого поля опции она добавляла комиссию в вашу корзину и обновляла сумму заказа.

У нас также есть пользовательский модуль платежного шлюза, который показывает клиенту, сколько нужно заплатить, и код для расчета общей суммы выглядит следующим образом:

$total_cart = (float)is_object( WC()->cart ) ? WC()->cart->cart_contents_total : '';

$total_shipping = (float)is_object( WC()->cart ) ? WC()->cart->shipping_total : '';

$total_tax = (float)is_object( WC()->cart ) ? WC()->cart->tax_total : '';

$total_shipping_tax = (float)is_object( WC()->cart ) ? WC()->cart->shipping_tax_total : '';

$total_fees = (float)is_object( WC()->cart ) ? WC()->cart->fee_total : '';

$total_amount = $total_cart+$total_shipping+$total_tax+$total_shipping_tax+$total_fees;

В то время как переменная $total_shipping хорошо обновляется при выборе другого способа доставки переменная $total_fees не обновляется до правильного значения при добавлении платы (остается нулевой), если браузер не обновляется. Мы также попытались вычислить его, используя вместо этого функцию get_fee_total(), но это тот же результат.

Мы рассчитываем сумму, используя такой избыточный способ, что WC()->cart->total или WC()->cart->get_total() первоначально показывают правильное значение значение, но становится равным нулю после того, как пользователь выбирает что-либо в форме оформления заказа, что приводит к «1014 * refre sh» в корзину.

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