从 ACF 选项将 BCC 收件人添加到 WooCommerce 电子邮件通知
Adding BCC recipient to WooCommerce email notification from ACF option
使用 Advanced Custom Fields 插件,我在 WordPress 选项选项卡中创建了一个自定义字段,允许我的客户添加一个额外的电子邮件,该电子邮件将接收 Woocommerce 新订单电子邮件确认,以及他们自己。
如果我对电子邮件地址进行硬编码,则下面的功能可以正常工作。虽然我希望其他电子邮件收件人从客户端可以 add/change 等的 ACF 选项中提取。电子邮件从选项 ACF 中正确提取。虽然当我尝试将电子邮件连接到 BCC 时,新电子邮件没有收到新订单电子邮件。
谁能指出我哪里出了问题?谢谢
add_filter( 'woocommerce_email_headers', 'mycustom_headers_filter_function', 10, 2);
function mycustom_headers_filter_function( $headers, $object) {
$additional_order_email_recipient = get_field('manufacturer_email_recipient', 'options');
$manu_email = "<".$additional_order_email_recipient.">";
$email_header = "BCC: Manufacture " . $manu_email . "\r\n";
if ($object == 'new_order') {
$headers .= "BCC: New Order <email@domain.co.uk>" . "\r\n"; // This Works
$headers .= "BCC: New Order " . $manu_email . "\r\n"; // This doesnt work
$headers .= $email_header; // This doesnt work
}
return $headers;
}
您的代码中存在一些错误……您需要检查在使用 ACF 自定义字段时是否获得了值:get_field( 'manufacturer_email_recipient', 'options' )
。
如果是这种情况,请尝试以下操作:
add_filter( 'woocommerce_email_headers', 'bcc_to_email_headers', 10, 3 );
function bcc_to_email_headers( $headers, $email_id, $order ) {
if ( $email_id === 'new_order' ) {
$manufacturer_email = get_field( 'manufacturer_email_recipient', 'options' );
if ( $manufacturer_email ) {
$headers .= "BCC: Manufacture <" . $manufacturer_email . ">\r\n";
}
}
return $headers;
}
代码进入活动子主题(或活动主题)的 functions.php 文件。它应该有效。
相关:
使用 Advanced Custom Fields 插件,我在 WordPress 选项选项卡中创建了一个自定义字段,允许我的客户添加一个额外的电子邮件,该电子邮件将接收 Woocommerce 新订单电子邮件确认,以及他们自己。
如果我对电子邮件地址进行硬编码,则下面的功能可以正常工作。虽然我希望其他电子邮件收件人从客户端可以 add/change 等的 ACF 选项中提取。电子邮件从选项 ACF 中正确提取。虽然当我尝试将电子邮件连接到 BCC 时,新电子邮件没有收到新订单电子邮件。
谁能指出我哪里出了问题?谢谢
add_filter( 'woocommerce_email_headers', 'mycustom_headers_filter_function', 10, 2);
function mycustom_headers_filter_function( $headers, $object) {
$additional_order_email_recipient = get_field('manufacturer_email_recipient', 'options');
$manu_email = "<".$additional_order_email_recipient.">";
$email_header = "BCC: Manufacture " . $manu_email . "\r\n";
if ($object == 'new_order') {
$headers .= "BCC: New Order <email@domain.co.uk>" . "\r\n"; // This Works
$headers .= "BCC: New Order " . $manu_email . "\r\n"; // This doesnt work
$headers .= $email_header; // This doesnt work
}
return $headers;
}
您的代码中存在一些错误……您需要检查在使用 ACF 自定义字段时是否获得了值:get_field( 'manufacturer_email_recipient', 'options' )
。
如果是这种情况,请尝试以下操作:
add_filter( 'woocommerce_email_headers', 'bcc_to_email_headers', 10, 3 );
function bcc_to_email_headers( $headers, $email_id, $order ) {
if ( $email_id === 'new_order' ) {
$manufacturer_email = get_field( 'manufacturer_email_recipient', 'options' );
if ( $manufacturer_email ) {
$headers .= "BCC: Manufacture <" . $manufacturer_email . ">\r\n";
}
}
return $headers;
}
代码进入活动子主题(或活动主题)的 functions.php 文件。它应该有效。
相关: