我正在寻找woocommerce中新订单表单的电子邮件标题。我正在尝试用主站点管理员电子邮件地址替换客户电子邮件地址。我们需要这样做是因为Gmail会将新订单标记为垃圾邮件,因为发件人地址与回复地址不同。以下功能部分起作用:
add_filter( 'woocommerce_email_headers', 'woo_add_reply_to_wc_admin_new_order', 10, 3 );
function woo_add_reply_to_wc_admin_new_order( $headers = '', $id = '', $order ) {
if ( $id == 'new_order' ) {
$reply_to_email = get_option( 'admin_email', '' );
$headers .= "Reply-to: <$reply_to_email>\r\n";
}
return $headers;}
此功能正在添加站点管理员电子邮件地址,但不会删除客户电子邮件。
有人对如何从回复字段中删除客户电子邮件有任何想法吗?注意:我们仍然需要在订单上记录客户电子邮件-我们只是不希望在电子邮件标题中记录该电子邮件
任何帮助将是巨大的!
使其正常工作的正确方法是:
add_filter( 'woocommerce_email_headers', 'new_order_reply_to_admin_header', 20, 3 );
function new_order_reply_to_admin_header( $header, $email_id, $order ) {
if ( $email_id === 'new_order' ){
$email = new WC_Email($email_id);
$header = "Content-Type: " . $email->get_content_type() . "\r\n";
$header .= 'Reply-to: ' . __('Administrator') . ' <' . get_option( 'admin_email' ) . ">\r\n";
}
return $header;
}
此代码位于您的活动子主题(或主题)的function.php文件中。经过测试和工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句