Woocommerce - 仅当管理员是收件人或按订单状态时才发送电子邮件

时间:2015-07-31 02:21:49

标签: wordpress email woocommerce

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

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;
}

此功能在上面工作,但是bcc电子邮件会检索所有电子邮件。我需要只检索管理员或订单状态的电子邮件。

帮助任何!! :o

1 个答案:

答案 0 :(得分:1)

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

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 );