我尝试了几种方法来向 Woocommerce 电子邮件添加其他收件人,但它似乎只适用于主要收件人是管理员的测试订单。
这些是我尝试过的片段。如果订单的客户是管理员,则电子邮件会发送到两个地址。如果订单包含客户电子邮件地址,它只会发送到该电子邮件地址而不是抄送。
以下是我尝试过的代码片段:
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;
}
我会很感激任何建议。