WP-Cron function not firing

时间:2014-11-08 作者:Guit4eva

我正在尝试使用cron获得一个简单的php函数(基于教程)。我有以下几点:

<?php if (!wp_next_scheduled(\'please_just_work\')) {
 wp_schedule_event( time(), \'daily\', \'please_just_work\' );
}
add_action ( \'please_just_work\', \'my_task_function\' );
function my_task_function() { 
$test_score = 30;
update_field(\'score\', $test_score );
} ?>
我可以在Crontrol插件中看到cron作业,我知道该站点必须有一个点击率,cron作业才能工作,但它只是没有启动。如果我从Crontrol中按“立即运行”并重新加载一个页面,它仍然不会启动。我真的不知道为什么:/

如果有人能帮我或给我指出正确的方向,我将不胜感激!

2 个回复
SO网友:Matt Keys

查看您的功能:

function my_task_function() { 
    $test_score
    update_field(\'score\', $test_score );
}
此处未定义$test\\U分数,它应为$test\\U分数=\'某物\';按您现在的方式,它将生成php警告。

此外,此上下文(在cron中)中使用的update\\u field函数将要求您传递第三个参数,指定哪个帖子/页面包含要更新的字段。请在此处查看该功能的完整文档:Advanced Custom Fields: Update Field.

SO网友:Rarst

这个print() 将字符串输出到当前页面视图中。但是在WP cron的情况下,您永远不会看到该页面视图。它是异步执行的,从不发送到浏览器。

您应该监控它是否以其他方式运行,例如将日志写入文件或保存类似“上次运行是…”的内容到一个选项。

结束

相关推荐

预定的帖子和wp-cron-如果太旧了,为什么预定的帖子不发布?

我注意到wp_schedule_single_event 提及以下内容:-如果计划时间已过,当有人访问您的WordPress站点时,该操作将启动。然而,这似乎不适用于预定的帖子。我注意到,如果wp cron暂时不运行(不确定确切的时间范围),可能会错过一些帖子。然后,帖子的管理面板中会有“Missed Schedule”的标签。我的问题是:-这只是针对预定的帖子还是所有预定的活动?在错过预定post之前,必须运行wp cron的时间范围是什么?该时间段在代码中的何处设置?我似乎在wp cron中找不到它。