我已实现自定义订单状态on-review
现在我需要在切换订单状态时发送WooCommerce默认保留电子邮件on-review
到on-hold
.
为了做到这一点,我必须添加新的woocommerce_order_status_on-review_to_on-hold_notification
将运行的操作trigger
方法WC_Email_Customer_On_Hold_Order
班
似乎没有挂钩或筛选器将此操作添加到默认值WC_Email_Customer_On_Hold_Order
构造函数和我必须用自定义类重写这个类。为此,我需要定义我的自定义WC_Email_Customer_On_Hold_Order
课程结束后WC_Email
类已定义,并且在WC_Email_Customer_On_Hold_Order
类已定义。
问题是这两个类都包含在init
方法执行WC_Emails
文件包含之间没有挂钩。
有没有其他办法解决我的问题?
最合适的回答,由SO网友:fakemeta 整理而成
看来我把事情搞得太复杂了。这就是解决方案:
add_filter( \'woocommerce_email_classes\', \'custom_woocommerce_email_classes\', 10, 1 );
function custom_woocommerce_email_classes( $email_classes ) {
$email_classes[ \'WC_Email_Customer_On_Review_Request\' ] = include_once \'includes/classes/class-wc-email-customer-on-review-request.php\';
// Register custom trigger to send on-hold email when status is switched from on-review to on-hold.
add_action( \'woocommerce_order_status_on-review_to_on-hold_notification\', [
$email_classes[ \'WC_Email_Customer_On_Hold_Order\' ], \'trigger\'
], 10, 2 );
return $email_classes;
}