将密件抄送收件人添加到 WooCommerce 订阅中的已完成续订订单通知中

问题描述 投票:0回答:2

我正在尝试将密件抄送收件人添加到 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 );

我想编辑此代码,这样我们就可以仅将密件抄送添加到“已完成的续订订单”中。

php wordpress woocommerce email-notifications woocommerce-subscriptions
2个回答
1
投票

使用以下重新访问的代码来定位已完成续订订单电子邮件通知,同时添加密件抄送收件人:

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 文件中(或插件中)。已测试并有效。

相关:使用 WooCommerce 中的电子邮件 ID 定位特定电子邮件通知


0
投票

您可以创建一个条件,仅在特定条件下发送电子邮件,因此将代码更改为:

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 );
© www.soinside.com 2019 - 2024. All rights reserved.