Стоимость доставки не отображается в корзине всего - WooCommerce - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть пользовательская конечная точка API, которая запускает обработку стоимости доставки с использованием пользовательского класса.

Это прекрасно работает.

Я добавляю свой тариф, выполняя обычную функцию расчета:

WC()->cart->calculate_shipping();

Я вижу добавляемый тариф:

//... bunch of code to calculate cost
//... what it actually does here is irrelevant
$rate = array(
    'id' => $this->id,
    'label' => $this->title,
    'cost' => $cost
);

$this->add_rate( $rate );
echo "added rate at $cost";
//prints: "added rate at 10"

Я могу вернуть ожидаемую стоимость доставки вмой метод API или на самой странице:

echo WC()->cart->get_cart_shipping_total();

<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">&#36;</span>10.00</span>

Но когда я получу общую сумму корзины и корзины, я получу итоговую сумму за мой тестовый элемент, но доставка не будет найдена.Стоимость товара составляет $ 30, доставка, как мы видели, составляет $ 10:

<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">&#36;</span>30.00</span>

Неужели я ошибаюсь, думая, что get_cart и get_cart_total должны вернуть стоимость доставки?

Любая помощь с дальнейшей отладкой или теориями для тестирования приветствуется.

1 Ответ

0 голосов
/ 23 ноября 2018

Наконец-то понял, что это так легко, я не могу поверить, что я не понял этого раньше.

Получается только общая корзина :

WC()->cart->get_cart_total();

Получается общая сумма заказа :

WC()->cart->get_total();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...