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