web-dev-qa-db-ja.com

IDでWooCommerce注文の支払い方法を確認する方法は?

選択した支払い方法が代金引換の場合、いくつかの変更を行います。既存のWC_Orderで私が使用しました

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

タイトルを取得します。しかし、タイトル文字列は異なる言語に翻訳されるため、ID(cod)に対してチェックしたいと思います。

WoocommerceのWC_OrderでIDを取得する方法はありますか?

17
belfort1

支払い方法IDのポストメタキーは、単に_payment_method

したがって、$order->payment_methodには自動的に取得するためのマジックメソッドがありません。従来のWordPressを使用して投稿メタを取得できます

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

WooCommerce 3.0のアップデート

$order->get_payment_method();
40
helgatheviking

支払いゲートウェイオブジェクト自体が必要な場合は、wc_get_payment_gateway_by_order 関数。

$payment_gateway = wc_get_payment_gateway_by_order( $order );
3
forsvunnet

2019年、あなたができる支払い方法のタイトルが必要な場合:

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

これは、Woocommerce> Paymentメソッドで設定された文字列を返します。例:Paypal

乾杯。

1
ColdTuna