如何通过ID查看WooCommerce订单的付款方式?

bel*_*rt1 17 wordpress woocommerce payment-method

如果选择的付款方式是COD,我想做一些更改.在我使用的现有WC_Order上

($order->payment_method_title == 'Cash On Delivery' ? ... : ... );
Run Code Online (Sandbox Code Playgroud)

检索标题.但我想检查id(cod),因为标题字符串被翻译成不同的语言,这不是一个很好的解决方案.

有没有办法在woocommerce中的WC_Order上检索id?

hel*_*ing 42

付款方式ID的后元键很简单 _payment_method

因此,如果$order->payment_method没有适当的魔术方法来自动获取,您可以使用传统的WordPress检索post元

get_post_meta( $order->id, '_payment_method', true );
Run Code Online (Sandbox Code Playgroud)

WooCommerce 3.0的更新

$order->get_payment_method();
Run Code Online (Sandbox Code Playgroud)

  • 订单类的正确功能是get_payment_method()所以使用$ order-> get_payment_method(); 更好的方法然后使用旧的post_meta函数 (2认同)

Col*_*una 9

如果您想要付款方式的标题,您可以执行以下操作:

$order = new WC_Order( $order_id );
$payment_title = $order->get_payment_method_title();
Run Code Online (Sandbox Code Playgroud)

这将返回 Woocommerce > 付款方式中设置的字符串,例如:Paypal

以下是一些非常有用的参考资料和文档,可帮助您使用 WooCommerce 完成您想做的任何事情。

干杯。


for*_*net 5

如果您需要支付网关对象本身,您可以使用该wc_get_payment_gateway_by_order功能。

$payment_gateway = wc_get_payment_gateway_by_order( $order );
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你!我一直试图在没有任何线索的情况下找到这个两天,直到找到这个。有关使用 $payment_gateway 的更多用途,请查看以下论坛帖子:http://forum.wpde.org/onlineshop-mit-wordpress/139211-woocommerce-darstellung-bankverbindung-e-mail.html (2认同)