На Woocommerce у меня есть форма, где клиенты могут подтвердить свой платеж и отправить его.После того как они нажали кнопку «Отправить», их статус заказа из режима ожидания переходит в режим обработки с этим кодом:
$order = new WC_Order( $order_id );
if( ( $order !== null ) ) {
$order->update_status('processing', 'order_note');
}
Однако электронное письмо с обработкой не отправляется.Если я вручную изменяю статус из WordPress, он отправляет электронное письмо.Поэтому я попытался использовать этот код:
$mailer = WC()->mailer()->get_emails();
if($order->has_status( 'processing' )){
$mailer['WC_Email_Customer_Processing_Order']->trigger( $order_id );
}
Этот код отлично работает для отправки электронного письма, но исходное письмо от WooCommerce не настроенное (я использую плагин для настройки электронной почты).Я попытался проверить email_id
, но и оригинальная, и настроенная версия имеют один и тот же идентификатор.Если я изменяю статус с удержания на обработку вручную, он отправляет настроенное.
Я понятия не имею, как отправить настроенное электронное письмо с functions.php
Я пытался отправить двойные письмас
add_action( 'woocommerce_order_status_processing', 'my_function', 2, 10 );
, поэтому при изменении статуса на обработку клиенты получают электронную почту от изменения статуса вручную и от функций.Они получили 2 настроенных электронных письма, а не оригинальное.