Я создал новый статус заказа с помощью register_post_status() и добавил его в список статусов заказа WC с помощью хука wc_order_statuses.
Теперь я создаю плагин для отправки электронного письма, когда заказ изменился на этот настраиваемый статус, называемый производством:
add_action( 'woocommerce_order_status_production', array( $this, 'trigger' ) );
Но ничего не происходит.
@ mrben522 ничего не изменилось. Я добавляю журнал ошибок для запуска функции, и он не отображается.
значит, хук woocommerce_order_status_changed вообще не срабатывает? Интересный. Попробуйте сбросить переменную ->get_valid_statuses() в объекте заказа и посмотрите, есть ли там статус вашего заказа. Похоже, что изменение вашего статуса может дать сбой, прежде чем оно перейдет к функции перехода, в которой находится этот хук.
@ mrben522 Я добавляю перехватчик woocommerce_order_status_changed в свою тему и в плагин. Но только по теме он возвращает логи. Похоже, этот плагин не вызывается. Я тестирую это с существующим заказом, а не с новым заказом. Я не знаю, имеет ли это какое-то значение.






Похоже, это должно сработать. может быть, попробуйте переместить свое действие в ловушку
woocommerce_order_status_changed, а затем отфильтровать действие «Кому». это некрасиво, но должно работать.