Мне нужно предотвратить изменение статуса заказа при определенных условиях. Например, заказ не может иметь статус «завершен», пока ему не присвоен номер дорожки транспортной компании. Другой пользовательский статус («cdek»), который автоматически выполняет регистрацию в службе доставки и может быть установлен только для отдельных заказов.
Таким образом, решения о принудительном изменении статуса не подходят назад. Требуется именно предотвращение изменения статуса, чтобы не было выполнено ни одного условия, связанного с установленным статусом.
Я уже видел некоторые обсуждения похожих задач:
https://github.com/woocommerce/woocommerce/issues/23009* Фильтр 1008 *
Woocommerce до изменения статуса заказа
woocommerce_before_order_object_save
фильтр выглядит наиболее подходящим, но я не могу понять, как отображать сообщения об ошибках в различных ситуациях - группа изменение, одиночное, ajax ... (может быть, нужно рассмотреть что-то еще)?
rus: https://ru.stackoverflow.com/questions/1081328/woocommerce-Проверка-и-предотвращение-смены-статуса-заказа