2017-01-04 3 views
1

Я очень новичок в WordPress и создал магазин электронной коммерции с WooCommerce.Настройка уведомления об обработке электронной почты клиентов в 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 Order order John!». В теле письма, я пытаюсь сделать это личное, как небольшое спасибо сообщения, однако, когда я делаю это сообщение, я использую крючок:

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

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

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

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

Благодаря

ответ

2

Чтобы добавить пользовательский контент с помощью 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>'; 

    } 

} 

код идет в функции. php-файл вашей активной дочерней темы (или темы). Или также в любых плагинах php-файлов.

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

+0

блестящий, спасибо, что это сработало. Из любопытства, какова цель включения всех 4 этих аргументов в функцию, когда используется только $ email? –

+1

Поскольку '$ email' - это 4-й и последний аргументы, вы ** не можете удалить другие **, и в будущем вам может понадобиться добавить еще несколько условий или некоторый код, основанный на других аргументах (особенно на первом) ... Самое главное, что это работает на вас или нет? – LoicTheAztec

Смежные вопросы