Php 用于电子邮件通知的WooCommerce电子邮件ID和订单状态更改

Php 用于电子邮件通知的WooCommerce电子邮件ID和订单状态更改,php,woocommerce,hook-woocommerce,orders,email-notifications,Php,Woocommerce,Hook Woocommerce,Orders,Email Notifications,我正在尝试添加一个功能,将记录通过订单状态更改发送的任何电子邮件 是否有一个钩子可以在发送订单通知电子邮件之前触发?已更新 所有负责触发电子邮件通知的可用挂钩都位于中,并且都是操作挂钩: woocommerce\u low\u stock woocommerce\u no\u stock woocommerce\u product\u on\u backorder woocommerce\u order\u status\u pending\u to\u processing woocomme

我正在尝试添加一个功能,将记录通过订单状态更改发送的任何电子邮件


是否有一个钩子可以在发送订单通知电子邮件之前触发?

已更新

所有负责触发电子邮件通知的可用挂钩都位于中,并且都是操作挂钩:

  • woocommerce\u low\u stock
  • woocommerce\u no\u stock
  • woocommerce\u product\u on\u backorder
  • woocommerce\u order\u status\u pending\u to\u processing
  • woocommerce\u order\u status\u pending\u to\u completed
  • woocmerce\u order\u status\u processing\u to\u cancelled
  • woocommerce\u order\u status\u pending\u to\u失败
  • woocommerce\u order\u status\u pending\u to\u on-hold
  • woocommerce\u订单\u状态\u处理失败
  • woocommerce\u订单状态\u失败\u至\u完成
  • woocommerce\u订单\u状态\u未能\u挂起
  • woocommerce\u order\u status\u on-hold\u\u to\u processing
  • woocommerce\u订单状态\u暂停\u至\u取消
  • woocommerce\u order\u status\u on-hold\u to\u失败
  • woocommerce\u order\u status\u completed
  • woocmerce\u订单\u全额退款
  • woocmerce\u订单\u部分退款
  • woocommerce\u new\u customer\u note
  • woocommerce\u创建\u客户
每个操作挂钩都可以排队发送事务性电子邮件,您将在或上的源代码中看到这一点

新订单通知的最后一件事是有点明显的,您将使用其中一种:

  • woocommerce\u order\u status\u pending\u to\u processing\u notification
  • woocommerce\u order\u status\u pending\u to\u completed\u notification
  • woocommerce\u order\u status\u pending\u to\u on-hold\u notification
  • woocommerce\u订单状态\u处理通知失败\u
  • woocommerce\u订单状态\u失败\u至\u完成\u通知
  • woocommerce\u订单\u状态\u失败\u至\u暂停通知
如中所述


或者,您可以使用位于以下位置的3个挂钩之一检测状态更改:

  • woocommerce\u订单\u状态\u更改
  • woocommerce\u order\u status\uuuu transition[from]}到{$status\u transition[to]}
  • woocommerce\u order\u status\u{$status\u transition[to]}
status\u transition()
包含在中(以及调用
set\u status()


使用感谢您的回答,但我不尝试检测状态更改,我尝试检测订单状态何时触发发送电子邮件通知,以便我可以记录它们(作为订单通知或其他方式)。是的,但如果我将已完成的订单更改回处理新订单,则不会重新发送新订单电子邮件,因此,我搜索的钩子依赖于电子邮件,而不是具有订单状态的邮件。我想我可以找到所有可能的senarios,每个状态转换都会发送电子邮件,但我想知道是否有比这更好的方法。这正是我想要的。谢谢。@Vpant刚刚添加了一些关于“新订单”的附加信息……所以我的第一个答案很好,因为所有使用的钩子都是在这个复合钩子上制作的:
woocmerce\u Order\u status\u transition[to]}
woocmerce\u Order\u status\u transition[from]}到{$status\u transition[to]}