Изменить темы электронной почты для некоторых конкретных почтовых уведомлений в Woocommerce

Я хотел бы стандартизировать структуру тем электронной почты (для всех уведомлений по электронной почте Woocommerce).
Я использую все доступные фильтры отсюда

Но как быть с темами электронной почты «В ожидании», «Отменено», «Возврат» и «Неудачный заказ»?
Есть ли способ изменить тему письма для этих писем?

1

Решение

Ниже 4 подключенных функции с правильными фильтрами, которые позволят вам настроить темы электронной почты для уведомлений «В ожидании», «Отменено», «Возврат» и «Неудачный заказ»:

add_filter( 'woocommerce_email_subject_customer_on_hold_order', 'customizing_on_hold_email_subject', 10, 2 );
function customizing_on_hold_email_subject( $formated_subject, $order ){
return __("This is the custom on hold order email notification subject", "woocommerce");
}

add_filter( 'woocommerce_email_subject_cancelled_order', 'customizing_cancelled_email_subject', 10, 2 );
function customizing_cancelled_email_subject( $formated_subject, $order ){
return __("This is the custom on cancelled email notification subject", "woocommerce");
}

add_filter( 'woocommerce_email_subject_customer_refunded_order', 'customizing_refunded_email_subject', 10, 2 );
function customizing_refunded_email_subject( $formated_subject, $order ){
return __("This is the custom on refunded email notification subject", "woocommerce");
}

add_filter( 'woocommerce_email_subject_failed_order', 'customizing_failed_email_subject', 10, 2 );
function customizing_failed_email_subject( $formated_subject, $order ){
return __("This is the custom on failed email notification subject", "woocommerce");
}

Код помещается в файл function.php активной дочерней темы (или активной темы).

Проверено и работает.

Вы можете использовать WC_Order аргумент объекта $order настроить предметы с динамическими данными заказа …

Как например (с динамическим идентификатором заказа и измененной датой в формате заказа):

add_filter( 'woocommerce_email_subject_cancelled_order', 'customizing_cancelled_email_subject', 10, 2 );
function customizing_cancelled_email_subject( $formated_subject, $order ){
$modified = $order->get_date_modified(); // Get date modified WC_DateTime object
return sprintf( __('Order #%d  was cancelled on %s', 'woocommerce'), $order->get_id(), $modified->date_i18n( 'l jS \of F Y \a\t h:i:s A' ) );
}

связанные с: Изменить тему электронной почты для статусов пользовательских заказов в Woocommerce 3

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]