php - Woocommerce 新订单电子邮件通知中的自定义 "reply to"电子邮件标题

标签 php wordpress woocommerce email-headers email-notifications

我正在寻找在 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 文件中。测试和工作。

关于php - Woocommerce 新订单电子邮件通知中的自定义 "reply to"电子邮件标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49171568/

相关文章:

php - codeigniter 中的 XSS 过滤不能防止 SQL 注入(inject)吗?

javascript - 如果单击,则显示每个用户的表行

php - MySQL如何知道某一行是否存在

wordpress - 为什么 get_posts() 只返回 5 个匹配的帖子,而应该返回 9 个?

javascript - 以编程方式添加到购物车时自动 'refreshing' woocommerce 的购物车

PHP Solr 安装不工作

php - 获取具有重复项计数的自定义分类术语

css - Wordpress 小部件样式

php - Woocommerce 百分比评论图表转换为数字

php - Woocommerce 迷你购物车无法在我的自定义主题上正确显示