正在制作一条消息,通知客户有关运费的信息,如果他/她再花费 XX 美元,则可以享受免费送货。
我使用了各种钩子来决定其显示位置(产品页面、购物车、结帐等),但我真正遇到的问题是如何四舍五入成本。
顾客消费满59美元可免运费。但如果客户添加
58.xx
的产品,消息将显示为,"Spend 0.1223242 dollars more and get free shipping"
。
如何将其更改为两位小数以及如何让它理解
0.1223
等于 0.10
以及 0.15544
等于 0.2
等等? (我希望这是足够清晰且容易理解的)。
这是我使用的代码:
function show_shipping_message() {
global $woocommerce;
$total_cart = $woocommerce->cart->total;
$limit_free_shipping = 59;
if ($total_cart != 0 && $total_cart < $limit_free_shipping) {
$dif = $limit_free_shipping - $total_cart;
?>
<p class="free-shipping-notice" >
<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/shipping-icon.png"> <?php _e('TEXT', THEME_TEXT_DOMAIN); ?> <?php echo $dif; ?> <?php _e('dollar, TEXT', THEME_TEXT_DOMAIN); ?> <strong><?php _e('TEXT', THEME_TEXT_DOMAIN); ?></strong>
</p>
<?php
}
}
如果有人可以提供帮助,我将非常感激。提前致谢。如果有人知道如何在从迷你购物车中删除商品后自动更新,那就太好了。再次提前致谢。
您可以这样使用功能
round()
和 number_format()
:
echo number_format( round(0.1223242, 1), 2 ); // will display: 0.10
您将得到的价格首先四舍五入到一位小数,但根据您的需要以两位小数显示。
您还可以将
round()
与 Woocommerce wc_price()
格式化价格功能一起使用:
echo wc_price( round(0.1223242, 1) ); // will display: $0.10
您将获得格式化的价格 (四舍五入到一位小数),但显示为其他 Woocommerce 价格 (带有货币符号的 2 位小数显示)...