更改货币后,Woocommerce迷你购物车小计无法正确更新

时间:2020-05-02 06:08:57

标签: javascript php wordpress woocommerce hook-woocommerce

是否有JavaScript或PHP解决方案根据页面重新加载时的可用价格值重新计算和替换迷你购物车小计?

当前我有两种不同的货币,例如欧元和里拉,当我以欧元货币向购物车中添加一些商品时,小计是正确的,但是当我以里拉货币重新加载页面时,添加项的小计值显然是错误的,所以我需要重新计算页面加载时可用项目的小计,并用Woocommerce将其替换为返回的小计值。

你能帮我做吗?


更新:我尝试了一项调整,但仍然无法正常工作!默认情况下,mini-cart.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 :(得分:1)

答案:重点是调用calculate_totals(),这似乎是一个错误。无论如何,您可以改用以下代码:

<p class="woocommerce-mini-cart__total total">
    <?php 
         WC()->cart->calculate_totals();
         do_action( 'woocommerce_widget_shopping_cart_total' );
    ?>
</p>