Как проверить способ оплаты по заказу WooCommerce по идентификатору?
Я хочу внести некоторые изменения, если выбранным методом оплаты является ХПК. В существующем WC_Order я использовал
($order->payment_method_title == 'Cash On Delivery' ? ... : ... );
чтобы получить название.
Но я хотел бы проверить id (cod), потому что строка заголовка переводится на разные языки, что не делает его хорошим решением.
Есть ли способ получить идентификатор в WC_Order в woocommerce?
Ответы
Ответ 1
Мета-ключ сообщения для идентификатора метода оплаты просто _payment_method
Итак, если $order->payment_method
не имеет волшебных методов, чтобы получить это автоматически, вы можете получить мета-сообщение с помощью обычного WordPress
get_post_meta( $order->id, '_payment_method', true );
Обновление для WooCommerce 3.0
$order->get_payment_method();
Ответ 2
Если вам нужен объект шлюза платежей, вы можете использовать функцию wc_get_payment_gateway_by_order
.
$payment_gateway = wc_get_payment_gateway_by_order( $order );
Ответ 3
2019 Теперь, если вы хотите название метода оплаты, вы можете сделать:
$order = new WC_Order( $order_id );
$payment_title = $order->get_payment_method_title();
Это возвращает строку, установленную в Woocommerce> Payment Methods, например: Paypal
.
Приветствия.