Я пробовал несколько способов добавить дополнительных получателей в электронные письма Woocommerce, но, похоже, он работает только с тестовыми заказами, где основным получателем является администратор.
Это фрагменты, которые я пробовал. Если заказчиком заказа является администратор, на электронную почту отправляются оба адреса. Если заказ содержит адрес электронной почты клиента, он отправляется только на этот адрес электронной почты, а не в CC.
Вот фрагменты кода, которые я пробовал:
add_filter( 'woocommerce_email_recipient_customer_processing_order', 'my_email_recipient_filter_function', 10, 2);
function my_email_recipient_filter_function( $recipient ) {
$recipient = $recipient . ', secondemail@example.com';
return $recipient;
}
.
add_filter( 'woocommerce_email_headers', 'woocommerce_email_cc_copy', 10, 2);
function woocommerce_email_cc_copy( $headers, $email ) {
if ( $email == 'customer_processing_order') {
$headers .= 'CC: Your name <secondemail@example.com>' . "\r\n"; //just repeat this line again to insert another email address in BCC
}
return $headers;
}
.
Этот работает, но срабатывает при каждом уведомлении по электронной почте:
add_filter( 'woocommerce_email_headers', 'mycustom_headers_filter_function', 10, 2);
function mycustom_headers_filter_function( $headers, $object ) {
$headers .= 'CC: My name <secondemail@example.com>' . "\r\n";
return $headers;
}
Если я добавлю электронное письмо $object
, чтобы оно запускалось только для заказов клиентов, оно только копировало их на электронные письма администратора (только для копий, не получатель), а не для клиентов (ни копий, ни получателей).
add_filter( 'woocommerce_email_headers', 'mycustom_headers_filter_function', 10, 2);
function mycustom_headers_filter_function( $headers, $object ) {
if ( $object == 'customer_processing_order') {
$headers .= 'CC: My name <secondemail@example.com>' . "\r\n";
}
return $headers;
}
Буду признателен за любой совет.