Настройка обработки уведомлений клиентов по электронной почте в WooCommerce

Я очень новичок в WordPress и создал магазин электронной коммерции с WooCommerce.

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

В этом благодарственном письме, в моем файле functions.php, я научился менять тему заголовка, включив в него их имя, например:

//add the first name of the person to the person getting the reciept in the subject of the email.
add_filter('woocommerce_email_subject_customer_processing_order','UEBC_change_processing_email_subject', 10, 2);

function UEBC_change_processing_email_subject( $subject, $order ) {
global $woocommerce;
$subject = 'Thanks for your ' . get_bloginfo( 'name', 'display' ) . ' Order, '.$order->billing_first_name .'!';
return $subject;
}

Приведенный выше фрагмент кода работает правильно и отображается только для клиента, а не для меня. например «Спасибо за ваш заказ ABCD Одежда для заказа Джон!».
В теле письма я пытаюсь сделать это личное сообщение небольшим спасибо, однако, когда я пишу сообщение, я использую хук:

add_action( 'woocommerce_email_before_order_table', 'custom_add_content', 20,1 );

Я знаю, что так как я использую woocommerce_email_before_order_table хук, пользовательская функция будет отправлена ​​в теле письма и клиенту, и мне.

Мне было интересно, есть ли ловушка, которую предоставляет Woocommerce, чтобы пользовательская функция отправлялась клиенту только в теле письма?

Например: woocommerce_email_header_customer_processing_order или слова на этот счет?

Спасибо

1

Решение

Чтобы добавить пользовательский контент, используя woocommerce_email_before_order_table крючок и нацеливание только электронное уведомление клиента «обработка заказа», Вы должны попробовать это:

add_action( 'woocommerce_email_before_order_table', 'custom_content_to_processing_customer_email', 10, 4 );
function custom_content_to_processing_customer_email( $order, $sent_to_admin, $plain_text, $email ) {

if( 'customer_processing_order' == $email->id ){

// Set here as you want your custom content (for customers and email notification related to processing orders only)
echo '<p class="some-class">Here goes your custom content… </p>';

}

}

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

Этот код протестирован и работает

2

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

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

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