【问题标题】:WooCommerce send E-Mail copy to E-Mail Address from custom field? [duplicate]WooCommerce 将电子邮件副本从自定义字段发送到电子邮件地址? [复制]
【发布时间】:2020-04-18 14:29:12
【问题描述】:

我想将已完成订单、失败订单和取消订单的副本发送到特定的电子邮件地址。此电子邮件地址存储在我使用高级自定义字段插件创建的自定义字段中。

字段名称是“e-mail_adresse”。由于我使用的是多站点网络,因此我无法手动输入电子邮件地址,而必须从该字段中提取它。这可能吗?

【问题讨论】:

    标签: php wordpress woocommerce hook-woocommerce email-notifications


    【解决方案1】:
    add_filter( 'woocommerce_email_headers', 'custom_cc_email_headers', 10, 3 );
    
    function custom_cc_email_headers( $header, $email_id, $order ) {
    
        //Only for "Completed,cancelled, failed Order" email notification
        if ( 'customer_completed_order' !== $email_id || 'cancelled_order' !== $email_id || 'failed_order' !== $email_id )
            return $header;
    
        //Get the CC email
        $custom_user_email = get_user_meta( $order->get_user_id(), 'e-mail_adresse', true );
    
        if ( !empty( $custom_email ) )
            return $header; // Exit (if empty value)
    
    
    //Get customer full name
        $user_name   = $order->get_billing_first_name() . ' ';
        $user_name   .= $order->get_billing_last_name();
    
        $formatted_email = utf8_decode( $user_name . ' <' . $custom_user_email . '>' );
    
        //Add Cc to headers
        $header .= 'Cc: ' . $formatted_email . '\r\n';
    
        return $header;
    }
    

    试试这个代码

    【讨论】:

    • 感谢您的代码。我对其进行了测试,但没有收到任何电子邮件到给定地址。
    • $custom_user_email = get_user_meta($order->get_user_id(), 'e-mail_adresse', true );它是否返回正确的电子邮件 ID?
    • 我该如何测试这个?对不起,我在那种事情上不是很好:(
    • 只是为了解释:自定义字段不是自定义用户字段。它是 afc 选项页面中的自定义字段。
    • 那么需要改变上面注释行的逻辑
    猜你喜欢
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多