我是WordPress开发的新手,第一次使用cron job。我对cron job有意见,它没有被解雇。以下是我为实现这一目标所采取的所有步骤。我已将这一行放在我的wp配置文件中
define(\'DISABLE_WP_CRON\', true);
然后,我用这个命令在cpanel中设置了一个cron作业。
wget -q -O - http://mywebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
我每30分钟选择一次间隔。
但现在cron job没有启动我的WordPress功能。这是我在函数中使用的代码。我的主题的php。
wp_schedule_event(time(), \'hourly\', \'my_hourly_event\');
add_action(\'my_hourly_event\', \'do_this_hourly\');
function do_this_hourly() {
wp_mail( \'[email protected]\', \'Automatic email\', \'Automatic scheduled email from WordPress to test cron\');
}
有谁能告诉我我在这方面做错了什么,因为我没有收到来自此功能的电子邮件。我将非常感谢你的帮助<谢谢你!
最合适的回答,由SO网友:Annapurna 整理而成
您需要首先创建30分钟的间隔。使用筛选器:
add_filter(\'cron_schedules\',\'my_cron_schedules\', 999 );
function my_cron_schedules($schedules) {
$schedules[\'thirty_min\'] = array(
\'interval\' => 1800, // Every 30 mins
\'display\' => __( \'Every 30 mins\' ),
);
return $schedules;
}
然后需要执行计划作业:
wp_schedule_event( time(), \'thirty_min\', \'your_event_hook\' );
然后添加操作和回调函数:
add_action(\'your_event_hook\', \'do_this_hourly\');
function do_this_hourly() {
wp_mail( \'[email protected]\', \'Automatic email\', \'Automatic scheduled email from WordPress to test cron\');
}
你需要
define(\'DISABLE_WP_CRON\', true);
在wp配置中。php
然后可以安排系统cron。