在 WooCommerce 中自定义客户处理电子邮件通知

Customizing customer processing emails notification in WooCommerce

我是 WordPress 的新手,并且使用 WooCommerce 创建了一个 e-commerce 商店。

客户下单后,我收到一封电子邮件,客户也收到一封电子邮件——一封是我告诉他们他们订购了什么,一封是感谢邮件。

在这封感谢邮件中,在我的 functions.php 文件中,我学会了更改 header 的主题以包括他们的名字,例如:

//add the first name of the person to the person getting the reciept in the subject of the email. 
add_filter('woocommerce_email_subject_customer_processing_order','UEBC_change_processing_email_subject', 10, 2);

function UEBC_change_processing_email_subject( $subject, $order ) {
global $woocommerce;
$subject = 'Thanks for your ' . get_bloginfo( 'name', 'display' ) . ' Order, '.$order->billing_first_name .'!';
return $subject;
}

上面的代码片段工作正常,并且只显示给客户,而不是我。例如"thanks for your order ABCD Clothes order John!"。 在电子邮件的 body 中,我试图将此个人化为一条简短的感谢消息,但是,当我发送消息时,我使用了挂钩:

add_action( 'woocommerce_email_before_order_table', 'custom_add_content', 20,1 );

我知道自从我使用 woocommerce_email_before_order_table 挂钩后,自定义函数将在电子邮件的 body 中发送给客户和我自己。

我想知道,Woocommerce 是否提供了一个挂钩,以便自定义功能只会在电子邮件的 body 内发送给客户?

例如:woocommerce_email_header_customer_processing_order或大意之词?

谢谢

要使用 woocommerce_email_before_order_table 挂钩添加一些自定义内容并仅针对 客户 "processing order" 电子邮件通知,你应该试试这个:

add_action( 'woocommerce_email_before_order_table', 'custom_content_to_processing_customer_email', 10, 4 );
function custom_content_to_processing_customer_email( $order, $sent_to_admin, $plain_text, $email ) {

    if( 'customer_processing_order' == $email->id ){

        // Set here as you want your custom content (for customers and email notification related to processing orders only)
        echo '<p class="some-class">Here goes your custom content… </p>';

    }

}

代码进入您的活动子主题(或主题)的 function.php 文件。或者在任何插件 php 文件中。

此代码已经过测试并且有效