27

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

($order->payment_method_title == 'Cash On Delivery' ? ... : ... );

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

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

4

3 回答 3

62

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

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

get_post_meta( $order->id, '_payment_method', true );

WooCommerce 3.0 更新

$order->get_payment_method();
于 2014-09-24T11:50:47.183 回答
7

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

$order = new WC_Order( $order_id );
$payment_title = $order->get_payment_method_title();

这将返回在 Woocommerce > Payment methods 中设置的字符串,例如:Paypal

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

干杯。

于 2019-06-23T10:39:51.337 回答
6

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

$payment_gateway = wc_get_payment_gateway_by_order( $order );
于 2016-09-28T11:24:45.147 回答