【发布时间】:2014-08-17 21:24:44
【问题描述】:
默认情况下,WooCommerce 不会发送退款电子邮件,因为正如 Mike Jolley 所说,退款是“手动过程”。但是,我需要发送一个!
我的问题是:我找不到会在我的扩展电子邮件类中触发的钩子来执行此操作。
我按照本教程编写了一个类来扩展 WC_Email 并让一切正常除了我需要一个挂钩来在订单状态更改并保存为“已退款”时触发该类:
http://www.skyverge.com/blog/how-to-add-a-custom-woocommerce-email/
我尝试了各种钩子,例如 woocommerce_order_status_refund 代替第 39-40 行的 woocommerce_order_status_pending_to_processing_notification 钩子。
问题是woocommerce_order_status_refund 不会在电子邮件类中触发。它在其他地方也能正常工作,但在这种情况下却不行。
我尝试将钩子替换为woocommerce_order_actions_end 作为一种“通用”。我添加了一个 if (! $order->status == 'refunded') 来过滤“退款”。但是现在每次加载状态为“已退款”的订单时都会触发该钩子。
(我还尝试将带有 woocommerce_order_actions 的自定义操作添加到操作菜单中,但问题是在这里我不知道如何用它来触发我的课程。它似乎在课程之前加载,所以这也不起作用.)
只有当订单状态更改为“已退款”时,有没有办法通过扩展类触发电子邮件发送?
【问题讨论】:
标签: email woocommerce