【问题标题】:How to check payment method on a WooCommerce order by id?如何通过 id 检查 WooCommerce 订单的付款方式?
【发布时间】:2014-11-18 15:32:57
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: wordpress woocommerce payment-method


    【解决方案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 做任何您想做的事情。

      干杯。

      【讨论】:

        猜你喜欢
        • 2021-06-13
        • 2020-03-15
        • 2017-04-07
        • 2017-05-17
        • 2015-08-24
        • 2013-02-21
        • 2017-03-17
        • 1970-01-01
        • 2016-07-10
        相关资源
        最近更新 更多