我无法找到正确的挂钩函数参数来修改/添加“ woocommerce_email_order_details”挂钩中的(WooCommerce预订专用)“ customer_renewal_invoice”和“ processing_renewal_order”电子邮件ID的电子邮件内容。
我已经为标准WooCommerce订单电子邮件进行了此工作(即修改电子邮件内容),但是根据LoicTheAztec(Get the email id in Woocommerce emails),Subscriptions插件使用了不同的挂钩函数参数;我只是不知道那是什么。
这是我所拥有内容的简化版本:
add_action ('woocommerce_email_order_details', 'custom_email_notification', 5, 4);
function custom_email_notification( $order, $sent_to_admin, $plain_text, $email ){
if ( 'customer_processing_order' == $email->id || 'customer_invoice' == $email->id || 'customer_on_hold_order' == $email->id || 'customer_renewal_invoice' == $email->id || 'processing_renewal_order' == $email->id ){
echo "Extra content here";
}
}
前三个“标准” / WooCommerce电子邮件ID可以正常使用,但后两个(特定于WooCommerce订阅插件)则永远不会启用/触发;我知道这是因为我的钩子参数不正确,但是我不知道如何纠正它们。
我认为我需要的信息的实质在其他文章中也有所提及,但是我不能将所有内容都放在一起;按感知的相关性列出:
https://stackoverflow.com/a/42097450
https://stackoverflow.com/a/31677646
WooCommerce Subscription Cancellation Email to Customer
Stackoverflow上的用户提供了令人难以置信的帮助,使我的生活不断变得更加轻松/轻松。谢谢大家,并在此先感谢您可以提供的任何帮助。
答案 0 :(得分:0)
我认为您可能实际上想要woocommerce_subscriptions_email_order_details
,它似乎从您想要的两封电子邮件中被调用(模板/电子邮件/customer-renewal-invoice.php和模板/电子邮件/ customer-processing-renewal-order。 php)。在这两种情况下,它都收到$order, $sent_to_admin, $plain_text, $email
。但是,如果您想处理其他任何情况,有时会在其他地方用$subscription, $sent_to_admin, $plain_text, $email
调用它。