Промежуточный итог мини-корзины Woocommerce не обновляется правильно после изменения валюты - PullRequest
0 голосов
/ 02 мая 2020

Существует ли какое-либо решение JavaScript или PHP для пересчета и замены промежуточного итога мини-корзины на основе доступных значений цены при перезагрузке страницы?

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

Можете ли вы помочь мне сделать это?


Обновление : я попытался настроить, но все еще не работает! По умолчанию мини-корзина. php использует крючок виджета для отображения итога или промежуточного итога:

do_action( 'woocommerce_widget_shopping_cart_total' );

Я пробовал этот код вместо этого, но все еще при загрузке страницы с другой валютой он не отображает правильный промежуточный итог (он возвращает значение, аналогичное промежуточному итогу в другой валюте):

  <p class="woocommerce-mini-cart__total total">
        <?php
            $subtotal_txt   = isset($options['sc-subtotal-text']) ? $options['sc-subtotal-text']: __("Subtotal:",'side-cart-woocommerce');
        ?>
    <span><?php esc_attr_e($subtotal_txt,'side-cart-woocommerce') ?></span> 
    <?php echo WC()->cart->get_cart_subtotal(); ?>
    </p>

Стоит ли добавлять фрагменты JS или Ajax, чтобы иметь правильный промежуточный итог при каждой загрузке страницы?

1 Ответ

0 голосов
/ 03 мая 2020

Ответ : Важным моментом является вызов calculate_totals(), похоже на ошибку. В любом случае вы можете использовать этот код вместо:

<p class="woocommerce-mini-cart__total total">
    <?php 
         WC()->cart->calculate_totals();
         do_action( 'woocommerce_widget_shopping_cart_total' );
    ?>
</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...