【问题标题】:How do I remove the extra 1 cent in woocommerce checkout?如何删除 woocommerce 结帐中额外的 1 美分?
【发布时间】:2021-10-16 10:58:06
【问题描述】:
我遇到了一个问题,即 woocommerce 在我的叠加折扣之上额外增加 1 美分。
所以我的价格是 100 美元。我给了 2 张独特的优惠券,每张都有 10% 的折扣价值。税为 10%
发生的情况是我希望用户支付 88 美元。但最终,还有 0.01 美分。
我尝试在这里寻找解决方案,但似乎没有任何结论。问题不断浮出水面。那么有什么办法可以操纵价格吗?就像在计算总额之后,我如何在价格到达支付网关之前更改价格?
这里是报告的问题的链接:
https://github.com/woocommerce/woocommerce/issues/20997
【问题讨论】:
标签:
wordpress
woocommerce
checkout
【解决方案1】:
我不知道问题出在哪里。但是你可以使用这个解决方案。
您可以使用Woocommerce 过滤器对产品价格进行四舍五入。
将此代码复制到您的子主题的functions.php中:
add_filter('woocommerce_product_get_price', 'round_woocommrce_price', 99, 2);
add_filter('woocommerce_get_variation_regular_price', 'round_woocommrce_price', 99);
add_filter('woocommerce_get_variation_price', 'round_woocommrce_price', 99);
add_filter('raw_woocommerce_price', 'round_woocommrce_price' );
function round_woocommrce_price($price, $product = NULL) {
// you can return this, if you are interested: floor($price) + 0.99
return floor($price);
}