首页 文章

将产品自定义字段中的收件人添加到Woocommerce新订单电子邮件通知中

提问于
浏览
1

在Woocommerce中,我想在产品发布类型中添加带有高级自定义字段插件的电子邮件自定义字段 .

如果客户下订单,我想将每个订单商品的相应电子邮件地址添加到新订单电子邮件通知中 .

如何将产品自定义字段中的收件人添加到Woocommerce新订单电子邮件通知中?

1 回答

  • 3

    对于“新订单”电子邮件通知,以下是从订单中的项目添加自定义电子邮件的方式(电子邮件自定义字段在产品中使用ACF设置) .

    因此,您将首先在ACF中为“产品”帖子类型设置自定义字段:

    enter image description here

    然后,您将拥有后端产品编辑页面:

    enter image description here

    完成后,当产品自定义字段全部通过电子邮件地址设置时,您将使用此代码添加到“新订单”通知订单中每个相应项目的电子邮件:

    add_filter( 'woocommerce_email_recipient_new_order', 'add_item_email_to_recipient', 10, 2 );
    function add_item_email_to_recipient( $recipient, $order ) {
        if( is_admin() ) return $recipient;
    
        $emails = array();
    
        // Loop though  Order IDs
        foreach( $order->get_items() as $item_id => $item ){
            // Get the student email
            $email = get_field( 'product_email', $item->get_product_id() );
            if( ! empty($email) )
                $emails[] = $email; // Add email to the array
        }
    
        // If any student email exist we add it
        if( count($emails) > 0 ){
            // Remove duplicates (if there is any)
            $emails = array_unique($emails);
            // Add the emails to existing recipients
            $recipient .= ',' . implode( ',', $emails );
        }
        return $recipient;
    }
    

    代码位于活动子主题(或活动主题)的function.php文件中 . 经过测试和工作 .

    相关:Send Woocommerce Order to email address listed on product page

相关问题