【问题标题】:WooCommerce return get_total() price with two decimalsWooCommerce 返回带两位小数的 get_total() 价格
【发布时间】:2017-08-31 03:18:15
【问题描述】:

您好,我正在实施一个支付网关插件,但有问题。它显示一个错误,他们说这是因为购物车的总量和价格网站为他们发送的总量不同。这是因为他们得到它时没有十进制数字。在购物车中是 519.00,他们只收到 519

此插件通过$order->get_total() 函数获取购物车总数。有没有什么方法可以让函数get_total() 已经用.00 接受订单价格?或者如果它是 519.5 使其成为 519.50 等等?

在他们的插件中更改一个函数也可能有效,但我尝试了其他类似 WC()->cart->total 但它也显示不带小数的总数。

【问题讨论】:

  • 类似number_format($order->get_total(), 2, '.', ''); ?
  • 或使用money_format() PHP 函数并设置您的语言环境。例如,我会这样做:setlocale(LC_MONETARY, 'en_US'); 然后echo money_format('%i', $order->get_total());

标签: php wordpress woocommerce hook-woocommerce price


【解决方案1】:

WooCommerce 对此具有内置功能 wc_format_decimal()

用法:

wc_format_decimal( $order->get_total(), 2 );
//or
wc_format_decimal(WC()->cart->total, 2 );

希望这会有所帮助!

【讨论】:

  • 从来不知道这个功能!
  • 实际上我在我的插件中有一个自定义函数like this,它可以返回 API 的完整订单详细信息,所以我在这样做的时候才知道这一点。
  • 太好了,成功了! @TyBailey number_format($order->get_total(), 2, '.', ''); 也很有魅力。非常感谢:)
  • 很高兴来到这里。不过使用内置函数总是更好:)
  • 可能是的。但我的客户迫不及待地付钱给我,所以我会坚持这个快速解决方案:))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-24
  • 1970-01-01
  • 2018-12-30
  • 2019-08-18
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
相关资源
最近更新 更多