Отправить WooCommerce письмо на адрес Сохранить, используя woocommerce_email_actions - PullRequest
0 голосов
/ 28 декабря 2018

Я боролся с этим уже пару дней и проходил через каждый пост / комментарий / обсуждение / и т. Д. ... Я мог найти попытку найти рабочее решение.

Я хочу отправитьэлектронное письмо через пользовательский класс, которое расширяет WC_Email всякий раз, когда пользователь woocommerce обновляет свой адресЯ нашел различные ресурсы, объясняющие, как создавать собственные электронные письма wc ( skyverge был наиболее полезным ), и я успешно это сделал.У меня есть плагин, который добавляет пользовательскую электронную почту в WP-Admin-> WooCommerce-> Settings-> Emails.

Если я использую действие, которое уже является частью woocommerce_email_actions, например add_action( 'woocommerce_order_status_failed_to_processing_notification', array( $this, 'trigger' ) );, и вручную изменяюСтатус заказа в бэкенде все работает просто отлично.

Проблема в том, что я хочу использовать add_action( 'woocommerce_customer_save_address', array( $this, 'trigger' ) );, и, к сожалению, он никогда не срабатывает.

Основываясь на некоторых других потоках, я попытался добавить следующее вмой основной файл плагина

function new_woocommerce_email_actions( $actions ){
    $actions[] = 'woocommerce_customer_save_address';
    return $actions;
}
add_filter( 'woocommerce_email_actions', 'new_woocommerce_email_actions' );

Возможно, это должно позволить мне использовать действие в моем пользовательском классе, но не повезло.Я также попытался добавить другие действия без какого-либо успеха.Например, использование фильтра для добавления woocommerce_order_status_cancelled не будет срабатывать, если вручную изменить заказ на отмененный.Я изо всех сил пытаюсь выяснить, почему это не работает, и большинство из найденных тем старше 2 лет и мертвы, так что я здесь.Любая помощь или указатели будут с благодарностью.

1 Ответ

0 голосов
/ 02 января 2019

Публикация в качестве ответа в случае, если другие пытаются заставить эту функциональность работать.

Я нашел эту статью от Tyche Softwares после продолжительного копания и смог создать плагин, который будет отправлять пользовательский WC_Email всякий раз, когда клиент обновляет свою адресную информацию

Я все еще не уверен на 100%, почему add_filter ('woocommerce_email_actions' ... не работал, и если кто-нибудь может сказать мне, почему я все еще заинтересован.

Этот плагин работает, вызывая пользовательское действие, определенное в моем расширенном классе WC_Email, через do_action всякий раз, когда происходит существующее действие woocommerce_customer_save_address.

...