我正在尝试在Wordpress安装中设置一个计划任务,该任务将(最终)运行一个脚本,每天发送一封包含大量数据的电子邮件。
然而,我似乎根本无法启动预定的任务。我每隔2分钟测试一次,看看是否能正常工作。到目前为止,我所拥有的一切都在下面,并且是我人生的最底层functions.php
文件知道我哪里出错了吗?
add_filter(\'cron_schedules\',\'my_cron_definer\');
function my_cron_definer($schedules){
$schedules[\'twomin\'] = array(
\'interval\'=> 120,
\'display\'=> __(\'Once Every 2 Minutes\')
);
return $schedules;
}
add_action(\'my_periodic_action\',\'my_periodic_function\');
function my_periodic_function(){
mail(\'[email protected]\',\'Test!\', \'Test Message\');
}
wp_schedule_event(time(), \'twomin\', \'my_periodic_action\');
我知道我的Wordpress网站需要访问它的页面才能运行该功能,所以我一直在点击该网站,希望触发我的功能,但运气不好!
Note: 我已经交换了我的真实电子邮件地址!
SO网友:Eugene Manuilov
您必须在挂钩中安排活动,例如after_setup_theme
或wp
操作:
add_filter(\'cron_schedules\',\'my_cron_definer\');
function my_cron_definer($schedules){
$schedules[\'twomin\'] = array(
\'interval\'=> 120,
\'display\'=> __(\'Once Every 2 Minutes\')
);
return $schedules;
}
add_action(\'my_periodic_action\',\'my_periodic_function\');
function my_periodic_function(){
mail(\'[email protected]\',\'Test!\', \'Test Message\');
}
add_action( \'wp\', \'wpse8170_setup_events\' );
// or add_action( \'after_setup_theme\', \'wpse8170_setup_events\' );
function wpse8170_setup_events() {
if ( !wp_next_scheduled( \'my_periodic_action\' ) ) {
wp_schedule_event(time(), \'twomin\', \'my_periodic_action\');
}
}