Vraag Hoe de betaalmethode op een WooCommerce-bestelling per ID controleren?


Ik wil enkele wijzigingen aanbrengen als de gekozen betalingsmethode COD is. Op bestaande WC_Order die ik heb gebruikt

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

om de titel op te halen. Maar ik zou willen controleren tegen de id (cod) omdat de titelstring in verschillende talen wordt vertaald, wat het geen goede oplossing maakt.

Is er een manier om de ID op een WC_Order in woocommerce op te halen?


13
2017-09-24 08:13


oorsprong


antwoorden:


De post-metasleutel voor de betalingsmethode-ID is eenvoudig _payment_method

Dus als $order->payment_method beschikt niet over de magische methoden om dat automatisch te krijgen, je zou de bericht-meta kunnen ophalen met behulp van traditionele WordPress

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

Update voor WooCommerce 3.0

$order->get_payment_method();

30
2017-09-24 11:50



Als u het betalingsgateway-object zelf nodig heeft, kunt u de wc_get_payment_gateway_by_order functie.

$payment_gateway = wc_get_payment_gateway_by_order( $order );

2
2017-09-28 11:24