如何通过 id 检查 WooCommerce 订单的付款方式?
Posted
技术标签:
【中文标题】如何通过 id 检查 WooCommerce 订单的付款方式?【英文标题】:How to check payment method on a WooCommerce order by id? 【发布时间】:2014-11-18 15:32:57 【问题描述】:如果选择的付款方式是货到付款,我想进行一些更改。在我使用过的现有 WC_Order 上
($order->payment_method_title == 'Cash On Delivery' ? ... : ... );
检索标题。 但我想检查 id (cod),因为标题字符串被翻译成不同的语言,这并不是一个好的解决方案。
有没有办法在 woocommerce 中检索 WC_Order 上的 id?
【问题讨论】:
【参考方案1】:支付方式 ID 的 post meta key 就是 _payment_method
因此,如果 $order->payment_method
没有适当的神奇方法来自动获取它,您可以使用传统的 WordPress 检索帖子元
get_post_meta( $order->id, '_payment_method', true );
WooCommerce 3.0 更新
$order->get_payment_method();
【讨论】:
很高兴听到。不要忘记通过单击旁边的复选框将其标记为答案。 @helgatheviking 我可以获取客户在感谢页面上输入的信用卡信息吗? 请搜索该网站以查看是否已被询问,如果没有,请尝试询问您自己的问题。 订单类的正确函数是get_payment_method() 所以使用$order->get_payment_method();比使用旧的 post_meta 函数更好的方法 同意,这个答案来自 2014 年,所以现在已经过时了。【参考方案2】:如果您需要支付网关对象本身,您可以使用wc_get_payment_gateway_by_order
函数。
$payment_gateway = wc_get_payment_gateway_by_order( $order );
【讨论】:
【参考方案3】:如果您想要付款方式的标题,您可以这样做:
$order = new WC_Order( $order_id );
$payment_title = $order->get_payment_method_title();
这将返回在 Woocommerce > 付款方式中设置的字符串,例如:Paypal
。
这里有一些非常有用的参考资料和文档,可以帮助您使用 WooCommerce 做任何您想做的事情。
WooCommerce Order Class WooCommerce Reference Docs干杯。
【讨论】:
以上是关于如何通过 id 检查 WooCommerce 订单的付款方式?的主要内容,如果未能解决你的问题,请参考以下文章
如何获取 woocommerce 订单的订单 ID 以在 functions.php 中的函数中使用?
如何通过 WooCommerce 中的时间限制限制每个客户的订单数量
如何从 WooCommerce 中的订单密钥中获取订单 ID?
如何在 WooCommerce 中获取用户的活动订单 ID 和订单状态 [重复]