WooCommerce 电子邮件 ID 和电子邮件通知的订单状态更改 [英] WooCommerce email IDs and order status change for email notifications
问题描述
我正在尝试添加一个功能,该功能将记录通过订单状态更改发送的任何电子邮件.
I am trying to add a function that will log any email that is sent through order status changes.
是否有我可以使用的钩子在发送订单通知电子邮件之前触发?
Is there a hook I can use that is triggered right before an order notification email is sent?
推荐答案
更新
负责触发电子邮件通知的所有可用钩子都位于 WC_Emails
init_transactional_emails()
方法 并且是动作钩子:
All the available hooks responsible for triggering email notifications are located in WC_Emails
init_transactional_emails()
method and are action hooks:
woocommerce_low_stock
,woocommerce_no_stock
,woocommerce_product_on_backorder
,woocommerce_order_status_pending_to_processing
,woocommerce_order_status_pending_to_completed
,woocommerce_order_status_processing_to_cancelled
,woocommerce_order_status_pending_to_failed
,woocommerce_order_status_pending_to_on-hold
,woocommerce_order_status_failed_to_processing
,woocommerce_order_status_failed_to_completed
,woocommerce_order_status_failed_to_on-hold
,woocommerce_order_status_on-hold_to_processing
,woocommerce_order_status_on-hold_to_cancelled
,woocommerce_order_status_on-hold_to_failed
,woocommerce_order_status_completed
,woocommerce_order_fully_refunded
,woocommerce_order_partially_refunded
,woocommerce_new_customer_note
,woocommerce_created_customer
.
woocommerce_low_stock
,woocommerce_no_stock
,woocommerce_product_on_backorder
,woocommerce_order_status_pending_to_processing
,woocommerce_order_status_pending_to_completed
,woocommerce_order_status_processing_to_cancelled
,woocommerce_order_status_pending_to_failed
,woocommerce_order_status_pending_to_on-hold
,woocommerce_order_status_failed_to_processing
,woocommerce_order_status_failed_to_completed
,woocommerce_order_status_failed_to_on-hold
,woocommerce_order_status_on-hold_to_processing
,woocommerce_order_status_on-hold_to_cancelled
,woocommerce_order_status_on-hold_to_failed
,woocommerce_order_status_completed
,woocommerce_order_fully_refunded
,woocommerce_order_partially_refunded
,woocommerce_new_customer_note
,woocommerce_created_customer
.
这些操作挂钩中的每一个都可以排队或发送交易电子邮件,正如您在 第 95 行 或 第 99 行.
Each of those action hooks can queue or send transactional emails as you will see in the source code on line 95 or on line 99.
新订单通知的最后一件事,它有点类似,您将使用其中一个:
Last thing for the new order notification, which is a bit appart, you will use one of those:
woocommerce_order_status_pending_to_processing_notification
,woocommerce_order_status_pending_to_completed_notification
,woocommerce_order_status_pending_to_on-hold_notification
,woocommerce_order_status_failed_to_processing_notification
,woocommerce_order_status_failed_to_completed_notification
,woocommerce_order_status_failed_to_on-hold_notification
,
woocommerce_order_status_pending_to_processing_notification
,woocommerce_order_status_pending_to_completed_notification
,woocommerce_order_status_pending_to_on-hold_notification
,woocommerce_order_status_failed_to_processing_notification
,woocommerce_order_status_failed_to_completed_notification
,woocommerce_order_status_failed_to_on-hold_notification
,
如此WC_Email_New_Order<中所述/code> 代码源
.
或者您可以使用位于 status_transition()
WC_Order
方法:
Or you can detect status changes using one of the 3 hooks located in status_transition()
WC_Order
method:
woocommerce_order_status_changed
woocommerce_order_status_{$status_transition[from]}_to_{$status_transition[to]}
woocommerce_order_status_{$status_transition[to]}
status_transition()
包含在 set_status()
WC_Order
方法 (还有 update_status()
method 调用em> set_status()
).
The
status_transition()
is included inset_status()
WC_Order
method (and so alsoupdate_status()
method too which callset_status()
).
这篇关于WooCommerce 电子邮件 ID 和电子邮件通知的订单状态更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!