首页 > 解决方案 > Woocommerce 新订单附加电子邮件收件人添加到订单元

问题描述

我正在尝试向客户订单确认电子邮件添加其他收件人。

我已成功将其他收件人电子邮件地址的元值添加到订单中,并已连接到一些电子邮件,但是,我发现很难找到确认电子邮件的钩子。

我的代码:

add_filter('woocommerce_email_recipient_customer_processing_order', 'ddl_additional_email_checkout', 10, 2);
add_filter('woocommerce_email_recipient_customer_completed_order', 'ddl_additional_email_checkout', 10, 2);
add_filter('woocommerce_email_recipient_customer_invoice', 'ddl_additional_email_checkout', 10, 2);
add_filter('woocommerce_email_recipient_customer_invoice_paid', 'ddl_additional_email_checkout', 10, 2);
add_filter('woocommerce_email_recipient_customer_note', 'ddl_additional_email_checkout', 10, 2);
function ddl_additional_email_checkout($emails, $object){
    
    $additional_email = get_post_meta($object->id, 'additional_recipient', true);
    
    if( $additional_email ){
        $emails .= ',' . $additional_email;
    }

    return $emails;

}

理想情况下,我会加入类似的东西,woocommerce_email_recipient_customer_new_order但这似乎不是一个选择。

非常感谢。

标签: wordpresswoocommercehook-woocommerce

解决方案


链接到https://stackoverflow.com/a/61459068/11987538的第一条评论为我解决了这个问题,本质上它只是找到正确的$email_id

这段代码也很有帮助,因为它将在电子邮件中显示 ID。

add_action( 'woocommerce_email_order_details', 'add_custom_text_to_new_order_email', 10, 4 );
function add_custom_text_to_new_order_email( $order, $sent_to_admin, $plain_text, $email ) {
    // Only for "New Order"  email notifications (to be replaced by yours)
    if( ! ( 'new_order' == $email->id ) ) return;

    // Display a custom text (for example)
    echo '<p>'.__('My custom text').'</p>';
}

在 Woocommerce 中使用电子邮件 ID 定位特定电子邮件


推荐阅读