如何触发WooCommerce订单完成电子邮件?

时间:2015-04-18 作者:user3210369

我希望能够在WooCommerce结账过程的不同阶段触发WooCommerce订单完成电子邮件。因此,我已经从后端禁用了WooCommerce订单完整电子邮件,现在正在寻找一行代码,可以在我想要的位置触发电子邮件。我做了一些研究,发现了如何删除订单完整的电子邮件,而不是如何手动触发。有什么建议吗?

谢谢

3 个回复
最合适的回答,由SO网友:Sumit 整理而成

You can try this

$mailer = WC()->mailer();
$mails = $mailer->get_emails();
if ( ! empty( $mails ) ) {
    foreach ( $mails as $mail ) {
        if ( $mail->id == \'customer_completed_order\' ) {
           $mail->trigger( $order->id );
        }
     }
}
SO网友:Karthik Thayyil

而不是像@Sumit建议的那样循环或重用相同的对象。您可以启动一个新对象,然后调用触发器。

$email_oc = new WC_Email_Customer_Completed_Order();
$email_oc->trigger($order_id);

SO网友:ewroman

也可以这样使用;

WC()->mailer()->emails[\'WC_Email_Customer_Completed_Order\']->trigger( $order_id );

结束

相关推荐

WP-CLI上的PHP解析错误,而不是Web服务器上的

我有一个超过100个站点的网络,我尝试使用wp cli对其中许多站点进行批量更改。特别是通过wp--url=site访问他们的wp\\u x\\u选项表。url选项更新然而,wp命令在我的几个文件中失败,严重限制了该工具的实用性,尤其是在尝试使用url列表| xargs wp--url={}。。。因为在第一次失败后,将跳过其余部分。我得到的错误总是一样的:PHP Parse error: syntax error, unexpected end of file in ... /functions.php&