我正在尝试将密件抄送收件人添加到 WooCommerce 发送的特定类型的邮件中。这涉及到收到续订邮件的客户。邮件类型为“已完成续订订单”。
我知道这篇文章:如何将 BCC 收件人添加到 WooCommerce 发送的所有电子邮件? 其中讨论了向 WooCommerce 发送的每封邮件添加 BCC。
该问题的解决方案被发现为:
function add_bcc_all_emails( $headers, $object ) {
$headers = array(
$headers,
'Bcc: Me <[email protected]>' ."\r\n",
);
return $headers;
}
add_filter( 'woocommerce_email_headers', 'add_bcc_all_emails', 10, 2 );
我想编辑此代码,这样我们就可以仅将密件抄送添加到“已完成的续订订单”中。
使用以下重新访问的代码来定位已完成续订订单电子邮件通知,同时添加密件抄送收件人:
add_filter( 'woocommerce_email_headers', 'add_bcc_to_completed_renewal_order_notification', 10, 2 );
function add_bcc_to_completed_renewal_order_notification( $headers, $email_id ) {
if( $email_id === 'customer_completed_renewal_order' ) {
$full_name = 'Mr Someone';
$email = '[email protected]';
$headers .= sprintf("Bcc: %s\r\n", utf8_decode($full_name.' <'.$email.'>') );
}
return $headers;
}
代码位于子主题的functions.php 文件中(或插件中)。已测试并有效。
您可以创建一个条件,仅在特定条件下发送电子邮件,因此将代码更改为:
function add_bcc_all_emails( $headers, $object ) {
if ($object == 'completed_renewal_orders') { // replace with correct slug for Completed Renewal Orders
$headers = array(
$headers,
'Bcc: Me <[email protected]>' ."\r\n",
);
}
return $headers;
}
add_filter( 'woocommerce_email_headers', 'add_bcc_all_emails', 10, 2 );