我是WordPress的新手,并使用WooCommerce创建了一个电子商务商店。
客户下订单后,我会收到一封电子邮件,客户会收到一封电子邮件 - 一封给我说明他们订购了什么,一封给他们作为谢谢你的电子邮件。
在感谢您的电子邮件中,在我的functions.php文件中,我学会了更改标题的主题以包含其名称,例如:
//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;
}
上面的代码段工作正常,只显示给客户,而不是显示给我。例如“谢谢你的订单ABCD衣服命令约翰!”。 在电子邮件正文中,我试图将这个个人作为一个小小的谢谢消息,然而,当我发出消息时,我正在使用钩子:
add_action( 'woocommerce_email_before_order_table', 'custom_add_content', 20,1 );
我知道,因为我使用woocommerce_email_before_order_table
挂钩,自定义功能将在电子邮件正文中发送给客户和我自己。
我想知道,Woocommerce是否提供了一个钩子,以便自定义功能只会发送给电子邮件正文中的客户?
例如:woocommerce_email_header_customer_processing_order
或者说是这样的话?
由于
答案 0 :(得分:3)
使用 woocommerce_email_before_order_table
挂钩添加一些自定义内容,并仅定位客户"处理订单"电子邮件通知,您应该尝试这样做:
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文件中。
此代码经过测试并正常运行