Описание woocommerce_valid_order_statuses_for_cancel
— Filter
Хук woocommerce_valid_order_statuses_for_cancel позволяет изменить массив статусов заказа, которые могут быть отменены. Он срабатывает в процессе проверки статуса заказа перед его отменой и позволяет разработчикам добавлять или удалять статусы, при которых отмена возможна
Примеры использования
Пример добавления нового статуса ‘completed’ в список статусов, которые могут быть отменены:
add_filter('woocommerce_valid_order_statuses_for_cancel', function($valid_statuses) {
$valid_statuses[] = 'completed';
return $valid_statuses;
});
В этом примере мы добавляем статус ‘completed’, позволяя его отмену.
Пример удаления статуса ‘processing’ из списка статусов, которые могут быть отменены:
add_filter('woocommerce_valid_order_statuses_for_cancel', function($valid_statuses) {
$valid_statuses = array_diff($valid_statuses, ['processing']);
return $valid_statuses;
});
Здесь мы удаляем статус ‘processing’, запрещая его отмену.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить статусы заказов, которые могут быть отменены, в зависимости от логики вашего магазина
– Производительность
Хук не должен существенно влиять на производительность, так как изменения касаются только логики обработки статусов
– Предупреждения
Убедитесь, что изменения не нарушают логику обработки заказов, чтобы избежать путаницы для пользователей
Альтернативы
Тип: action
Этот хук позволяет выполнять действия при изменении статуса заказа, что может быть использовано для дополнительной логики
Используйте его, если необходимо выполнять действия в зависимости от изменения статуса заказа, а не просто настраивать доступные для отмены статусы