Инициировать электронную почту при изменении пользовательского статуса заказа в Woocommerce - PullRequest
0 голосов
/ 08 ноября 2018

Я создал собственный класс электронной почты и добавил его в WooCommerce. Когда я перехожу к настройке электронной почты в WooCommerce, я вижу там свой шаблон, и когда я запускаю его вручную, электронная почта поступает на целевой почтовый аккаунт. Теперь у меня проблема в том, что я добавил в свой класс действие, которое должно обнаруживать изменение статуса ордера и выполнять мою функцию триггера, если для ордера установлено мое пользовательское состояние:

add_action ('woocommerce_order_status_wc-test-in-progress', массив ( $ this, 'trigger'), 10, 10);

Но когда я меняю заказ на этот статус, я не получаю никакого электронного письма. Что здесь не так?

https://github.com/woocommerce/woocommerce/blob/master/includes/emails/class-wc-email-customer-on-hold-order.php

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

1 Ответ

0 голосов
/ 08 ноября 2018

При использовании woocommerce_order_status_{$status_transition[to]} составного крючка, вам просто нужно удалить wc- из состояния, например:

add_action( 'woocommerce_order_status_test-in-progress', array( $this, 'trigger' ), 10, 10 );

И это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...