Je souhaite apporter des modifications si le mode de paiement choisi est COD. Sur WC_Order existant, j'ai utilisé
($order->payment_method_title == 'Cash On Delivery' ? ... : ... );
pour récupérer le titre. Mais je voudrais vérifier par rapport à l'id (cod) parce que la chaîne de titre est traduite dans différentes langues, ce qui n'en fait pas une bonne solution.
Existe-t-il un moyen de récupérer l'ID sur un WC_Order dans woocommerce?
La méta-clé post pour l'ID du mode de paiement est simplement _payment_method
Donc si $order->payment_method
n'a pas les méthodes magiques en place pour l'obtenir automatiquement, vous pouvez récupérer le post meta en utilisant WordPress traditionnel
get_post_meta( $order->id, '_payment_method', true );
Mise à jour pour WooCommerce 3.
$order->get_payment_method();
Si vous avez besoin de l’objet passerelle de paiement lui-même, vous pouvez utiliser le wc_get_payment_gateway_by_order
une fonction.
$payment_gateway = wc_get_payment_gateway_by_order( $order );
2019 maintenant, si vous voulez le titre du mode de paiement, vous pouvez le faire:
$order = new WC_Order( $order_id );
$payment_title = $order->get_payment_method_title();
Cela renvoie la chaîne définie dans Woocommerce> Modes de paiement, ex: Paypal
.
À votre santé.