2017-04-05 54 views
0

嗨我正在实施一个支付网关插件,但有问题。它显示了一个错误,他们说这是因为购物车的总量和价格网站的总量为他们发送的是不同的。这是因为他们没有得到前十进制数字。在购物车中它是519.00而且它们只收到。WooCommerce返回get_total()价格与两位小数

该插件通过$order->get_total()函数获取购物车总数。是否有任何方法使功能get_total()采取订单价格已与.00?或者如果是519.5要使它519.50等等?

在其插件中更改函数也可能会起作用,但我尝试了其他类似WC()->cart->total,但它也显示了没有小数的总数。

+2

类似'number_format($ order-> get_total(),2,'。','');'? –

+0

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

回答

3

WooCommerce有一个内置的功能,这 wc_format_decimal()

用法:

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

希望这有助于!

+0

永远不知道这个函数! –

+0

实际上我有一个自定义函数[像这样](http://woocommerce.wp-a2z.org/oik_api/wc_api_ordersget_order/)在我的插件中返回API的完整命令详细信息,所以虽然这样做我才知道这个。 –

+2

太棒了,这个工作! @TyBailey'number_format($ order-> get_total(),2,'。','');'也像魅力一样工作。非常感谢你:) –