我试图用钩子Woocommerce使特定电子邮件模板的变化。我想覆盖customer-processing-order.php
和customer-completed-order.php
文字在我的functions.php
文件。这里是我使用的代码:
add_action( 'woocommerce_email_customer_details', 'hitt_processing_customer_email', 10, 4 );
function hitt_processing_customer_email( $order, $sent_to_admin, $plain_text, $email ) {
if( 'customer_processing_order' == $email->id ){
echo '<p>My custom content here</p>';
}
if( 'customer_completed_order' == $email->id ){
echo '<p>My custom content here</p>';
}
}
但是,这似乎并没有奏效。我给自己的客户,当我拿到“您的订单正在处理中”的电子邮件,它没有自定义文本添加。我究竟做错了什么?
我意识到,上面的代码是工作,但它是将其放置在错误的地方,所以我没有看到那么这里的变化是放在下面的默认文本,但价格表上面的文字修改后的代码:
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 ){
echo '<p>Your custom text on the customer processing order</p>';
}
if( 'customer_completed_order' == $email->id ){
echo '<p>Your custom text on the customer completed order email.</p>';
}
}