Как проверить способ оплаты заказа 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 );
Другие вопросы по тегам