WooCommerce: автоматическое заполнение оплаченных заказов (в зависимости от способов оплаты)
Обычно wooCommerce должен автоматически завершать заказы на виртуальные продукты. Но это не так, и это реальная проблема, даже как ошибка.
Так что на данный момент вы можете найти некоторые полезные вещи (но не очень удобно):
1) фрагмент кода (что вы можете найти в документации по wooCommerce):
/**
* Auto Complete all WooCommerce orders.
*/
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order');
function custom_woocommerce_auto_complete_order( $order_id ) {
if ( ! $order_id ) {
return;
}
$order = wc_get_order( $order_id );
$order->update_status( 'completed' );
}
Но этот фрагмент не работает дляBACS *, Оплата при доставке а такжеПроверять Способы оплаты. Это нормально для способов оплаты шлюзов Paypal и кредитных карт.
* BACSпрямой платеж банковским переводом
А также …
2) Плагин: WooCommerce Автозаполнение заказов
Этот плагин работает для всех способов оплаты,но не для ДругойСпособы оплаты шлюзами кредитных карт.
Мой вопрос:
Используя (в качестве основы) фрагмент wooCommerce в пункте 1:
Как я могу реализовать условный код на основе методов оплаты woocommerce?
Я имею в виду что-то вроде: если методы оплаты не «BACS», «Оплата при доставке» и «Чек», тогда примените код фрагмента (обновите статус до «выполнено» для оплаченных заказов, касающихся виртуальных продуктов).
Я не мега-эксперт WooCommerce, поэтому я пока не нашел, как настроить методы оплаты в заказах WooCommerce.
Некоторая помощь будет очень милой.
Благодарю.