【问题标题】:Woocommerce - Bcc email only when the admin is recipient OR by Order StatusWoocommerce - 仅当管理员是收件人或按订单状态时才密件抄送电子邮件
【发布时间】:2015-10-22 14:22:05
【问题描述】:

如何让电子邮件收件人创建一个条件函数,将额外的密件抄送电子邮件标题添加到仅管理员或订单状态的电子邮件中?

add_filter( 'woocommerce_email_headers', 'profit_extra_email', 10, 2);
function profit_extra_email( $headers ) {
    $headers .= 'BCC: Vendas Promocional Fitness <eu@site.com>' . "\r\n";
    return $headers;
}

上面的这个功能可以工作,但密件抄送电子邮件会检索所有电子邮件。我只需要将电子邮件检索给管理员或按订单状态。

帮忙!! :O

【问题讨论】:

    标签: wordpress email woocommerce


    【解决方案1】:

    有 3 个变量传递给 woocommerce_email_headers 过滤器。由于它们似乎都不是传递给模板的$in_admin 变量,因此我们必须采用不同的方法。第二个参数是$email_id,它是每个电子邮件类别的唯一标识符。因此,我们可以将所有管理员电子邮件组成一个数组,并检查当前电子邮件是否在该数组中。如果是这样,请添加您的抄送。

    function so_31737121_email_headers( $headers, $email_id, $order ){
        $admin_emails = array( 
            'low_stock',
            'no_stock',
            'backorder',
            'cancelled_order',
            'new_order'
        );
    
        if( in_array( $email_id, $admin_emails ) ){
            $headers .= 'BCC: Vendas Promocional Fitness <eu@site.com>' . "\r\n";
        }
        return $headers;
    }
    add_action( 'woocommerce_email_headers', 'so_31737121_email_headers', 10, 3 );
    

    【讨论】:

    • 不错的赫尔加!看起来它现在可以工作了,但我担心我正在使用的 Order_status 定制。你知道我需要包含它们吗?
    • 如果你只是修改了模板没关系。
    • 哦,不!部分工作...仅当向“客户和管理员”发送电子邮件时才可以正常工作。仅向管理员发送电子邮件不会触发密件抄送。:(
    • 在条件行if( in_array( $email_id, $admin_emails ) || ( get_option('admin_email') == $wc_recipient?????? ) ){ 我认为包括与 wp 管理员电子邮件和 wc 电子邮件收件人的比较。有什么建议吗?
    • 哪些电子邮件同时发送给客户和管理员?从我在电子邮件类中可以看出,没有一个默认电子邮件是这样配置的。
    猜你喜欢
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 2014-05-30
    • 2022-06-27
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 2011-02-01
    相关资源
    最近更新 更多