javascript - 货币更改后,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 片段以在每个页面加载时都有正确的小计吗?
解决方案
答:重点是调用calculate_totals()
,好像是个bug。无论如何,您可以改用此代码:
<p class="woocommerce-mini-cart__total total">
<?php
WC()->cart->calculate_totals();
do_action( 'woocommerce_widget_shopping_cart_total' );
?>
</p>
推荐阅读
- angular - Angular 6 Reactive Forms输入类型=“radio”互斥选择
- ios - 如何使用科尔多瓦 wkwebview 修复 12.2 上的崩溃
- java - 日期计算器:告诉某个日期是星期几
- angular - 角度属性未知
- composer-php - Packagist 跳过了以-dev 结尾的分支,抱怨它没有以-dev 结尾
- javascript - 隐藏和取消隐藏特定元素
- visual-studio-code - 允许来宾到 VS Code Live Share 会话运行 Python 扩展“单元”
- python - Pip 使用 virtualenv 将软件包安装在错误的目录中
- javascript - SyntaxError: JSON.parse: JSON 数据的第 1 行第 1 列的数据意外结束[了解更多]
- java - Spark-Java:如何更改数据集中列的时间戳格式
?