仅针对已完成的订单通过Hook定制电子邮件

时间:2021-08-12 作者:lt512

我想用一些额外的信息定制已完成的订单。为此,我在函数中添加了这个。php

add_action( \'woocommerce_email_before_order_table\', \'mm_email_before_order_table\', 10, 4 );
function mm_email_before_order_table( $order, $sent_to_admin, $plain_text, $email ) { 
   echo \'<p>extra information</p>\';
}
我如何确保这仅适用于已完成的电子邮件,而不适用于其他电子邮件(例如订单创建)

非常感谢你

1 个回复
最合适的回答,由SO网友:Buttered_Toast 整理而成

如果你的代码有效,但它适用于所有电子邮件,那么你可以添加一个检查,只检查像这样的已完成订单

add_action( \'woocommerce_email_before_order_table\', \'mm_email_before_order_table\', 10, 4 );
function mm_email_before_order_table( $order, $sent_to_admin, $plain_text, $email ) {
   // if not completed order, exit
   if ($email->id != \'customer_completed_order\') return;
   echo \'<p>extra information</p>\';
}