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

时间:2017-01-04 22:25:21

标签: php wordpress woocommerce orders email-notifications

我是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或者说是这样的话?

由于

1 个答案:

答案 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文件中。

此代码经过测试并正常运行