Я хотел бы стандартизировать структуру тем электронной почты (для всех уведомлений по электронной почте Woocommerce).
Я использую все доступные фильтры отсюда
Но как быть с темами электронной почты «В ожидании», «Отменено», «Возврат» и «Неудачный заказ»?
Есть ли способ изменить тему письма для этих писем?
Ниже 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
Других решений пока нет …