Автоматическое присвоение заказам статуса «Выполнен»

По умолчанию после того, как заказ оформлен и оплата успешна, ему присваивается статус «Обработка», затем администратор магазина должен вручную присвоить ему статус «Выполнен»

автовыполнение заказов в WooCommerce

Не сомневаюсь, что в каких-то ситуацих это необходимо, например когда весь лайфтайм заказа фиксируется через админку, добавлены статусы например «Отправлен», «Доступен для отслеживания», а под «Выполнен» подразумевается, что заказ уже получен клиентом.

Но иногда это не нужно, например для виртуальных товаров, да даже для физических не всегда. А потом в один моментам клиентам надоедает вручную завершать заказы, и они копятся в уведомлениях тут:

заказы в меню WordPress

Сейчас покажу вам сниппет кода, который при вставке в functions.php вашей текущей (например дочерней) темы позволит завершать заказы сразу после их оформления.

Также хочу напомнить и порекомендовать вам свой видеокурс по WooCommerce 🚀

add_action( 'woocommerce_thankyou', 'truemisha_complete_orders' );
 
function truemisha_complete_orders( $order_id ) { 
	if ( ! $order_id ) {
		return;
	}
 
	$order = wc_get_order( $order_id );
	$order->update_status( 'completed' );
}

Взял этот пример с официальной документации WooCommerce и лично я сам не уверен на 100% относительно используемого тут хука woocommerce_thankyou, потому что возможно при оплате некоторыми платёжными шлюзами, покупатель может до неё не дойти.

И поэтому я нашёл кое-что поинтереснее. И судя по названию, этот фильтр-хук предназначен именно для нашей цели!

add_filter( 'woocommerce_payment_complete_order_status', 'truemisha_complete_orders_2', 25, 2 );
 
function truemisha_complete_orders_2( $order_id, $order ) {
	return false; // false – Выполнен, true - Обработка
}

Также внутри этой функции можете добавить своих условий, ведь вам доступен ID заказа $order_id и объект заказа $order.

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 2

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал