Автоматическая смена статуса «Обработка» в статус «Выполнен» для Woocomerce

Недавно в одном из своих проектов подключал Яндекс кассу для woocommerce. Все настройки были выполнены и подключены необходимые способы оплаты, но по итогу после оплаты заказы получали «Статус заказа изменен с В ожидании оплаты на Обработка.»

Приходилось вручную проставлять всем заказам статус «Выполнен» и это было проблемой, потому что вручную делать работу, которая должна проходить автоматически не хотелось. Решение оказалось простым, делюсь.

Код вставляем в файл function.php

/**
 * Автосмена статуса "Обработка" в статус "Выполнен"
 */
function wpgid_woocommerce_payment_complete_order_status($order_status, $order_id) {
	$order = new WC_Order($order_id);
	if ($order_status == 'processing' && ( $order->status == 'on-hold' || $order->status == 'pending' || $order->status == 'failed' )) {
		return 'completed';
	}
	return $order_status;
}
add_filter('woocommerce_payment_complete_order_status', 'wpgid_woocommerce_payment_complete_order_status', 10, 2);
Дмитрий Шкурин
Автор: Дмитрий Шкурин
Web дизайнер, программист, блогер. Профессионально занимаюсь созданием сайтов под управлением Wordpress, делюсь личным опытом.
WordPress Gid
Комментарии
0
Добавить комментарий
Нажимая на кнопку "Отправить", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.