Описание woocommerce_payment_complete_order_status_$THIS->GET_STATUS
— Action
Хук woocommerce_payment_complete_order_status_$THIS->GET_STATUS срабатывает после завершения платежа и позволяет изменять статус заказа. Он используется для настройки статуса заказа в зависимости от условий, связанных с оформлением и обработкой платежа
Примеры использования
Пример изменения статуса заказа на ‘processing’ после завершения платежа:
add_action('woocommerce_payment_complete_order_status_$THIS->GET_STATUS', function($order_id, $order, $status) {
if (/* условия для изменения статуса */) {
return 'processing';
}
return $status;
});
В этом примере мы меняем статус заказа на ‘processing’ при выполнении определенных условий
Пример добавления пользовательского статуса для определенных заказов:
add_action('woocommerce_payment_complete_order_status_$THIS->GET_STATUS', function($order_id, $order, $status) {
if ($order->get_total() > 100) {
return 'custom-status';
}
return $status;
});
Здесь мы устанавливаем пользовательский статус ‘custom-status’ для заказов, сумма которых превышает 100
Пример отправки уведомления при изменении статуса:
add_action('woocommerce_payment_complete_order_status_$THIS->GET_STATUS', function($order_id, $order, $status) {
if ($status === 'completed') {
// Отправка уведомления о завершении заказа
wp_mail('admin@example.com', 'Заказ завершен', 'Заказ #' . $order_id . ' завершен');
}
return $status;
});
В данном примере отправляется уведомление на email администратора при завершении заказа
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить статус заказа после завершения платежа в зависимости от условий
– Производительность
Убедитесь, что условия и логика в обработчике не вызывают значительных задержек, так как это может повлиять на время обработки платежа
– Предупреждения
Следите за тем, чтобы изменения статуса не вызывали конфликтов с другими плагинами или функциональностью WooCommerce
Альтернативы
Тип: action
Этот хук срабатывает при изменении статуса заказа и может быть использован для выполнения действий при любом изменении статуса
Используйте его, если нужно выполнять действия при любом изменении статуса заказа, а не только при завершении платежа