从定制订单状态切换时发送默认WooCommerce电子邮件

时间:2018-01-06 作者:fakemeta

我已实现自定义订单状态on-review 现在我需要在切换订单状态时发送WooCommerce默认保留电子邮件on-reviewon-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 文件包含之间没有挂钩。

有没有其他办法解决我的问题?

1 个回复
最合适的回答,由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;
}

结束

相关推荐

File execution order

我有一个我管理的WordPress网站(我不是开发人员),我运行了一个pagespeed 测验我遇到了一些问题,比如缓存问题等等,所以我使用了几个插件来解决它们。然而,我现在遇到了优化CSS交付问题。所以我想尝试自己修复它,并将有问题的URL移到页面的末尾,但是我不知道这些URL是从哪里来的。或者哪个页面需要它们。<!-- head --> <head> <!-- meta --> <meta charset=\"<?php