Sha*_*ams 0 wordpress woocommerce
我想发送一些woocommerce报告,该报告每天晚上使用cron作业自动触发。我为此设置了cron作业,为此我编写了一个自定义woocommerce电子邮件。我很困惑如何将我的电子邮件触发方法与cron事件挂钩。我已经用谷歌搜索了一段时间。但没有得到满意的答复。谁能帮忙。
小智 6
在您的自定义WooCommerce电子邮件中,您应该在__construct()中执行操作,例如:
add_action( 'my_custom_email', array( $this, 'trigger' ), 10, 1 );
Run Code Online (Sandbox Code Playgroud)
因此,在由wp_scheduled_event()触发的函数中,添加:
do_action( 'my_custom_email', $order_id );
Run Code Online (Sandbox Code Playgroud)
值得注意的是,在由cron作业触发的计划任务功能中,您还需要:
global $woocommerce;
$mailer = WC()->mailer();
Run Code Online (Sandbox Code Playgroud)
如果不将它们放在功能的顶部,则自定义电子邮件将不会发送。我花了很长时间才弄清楚!
因此,您的预定任务功能如下所示:
function my_scheduled_function() {
global $woocommerce;
$mailer = WC()->mailer();
// Lookup $order_id from somewhere
do_action( 'my_custom_email', $order_id );
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |