在 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 文件中。
此代码已经过测试并且有效
我是 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 文件中。
此代码已经过测试并且有效