在Woocommerce中触发有关订单自定义状态更改的电子邮件

时间:2018-11-08 16:15:41

标签: php wordpress woocommerce email-notifications

我已经创建了一个自定义电子邮件类,并将其添加到WooCommerce。当我转到WooCommerce中的电子邮件设置时,我可以在那里看到我的模板,并且当我手动触发它时,电子邮件到达目标电子邮件帐户。现在,我有一个问题,我已经在类中添加了一个动作,该动作应该检测订单状态更改,并在订单设置为自定义状态时执行触发功能:

  

add_action('woocommerce_order_status_wc-test-in-progress',array(   $ this,'trigger'),10,10);

但是,当我将订单更改为此状态时,我不会收到任何电子邮件。怎么了?

https://github.com/woocommerce/woocommerce/blob/master/includes/emails/class-wc-email-customer-on-hold-order.php

您可以检出此文件。我已经执行了与该文件相同的操作,但是在订单状态更改时将所有触发器替换为我的自定义触发器。

1 个答案:

答案 0 :(得分:1)

在使用woocommerce_order_status_{$status_transition[to]}复合挂钩时,您只需要从状态块中删除wc-,例如:

add_action( 'woocommerce_order_status_test-in-progress', array( $this, 'trigger' ), 10, 10 );

它应该可以工作。