【发布时间】:2017-04-11 16:52:28
【问题描述】:
function cronstarter_activation() {
if( !wp_next_scheduled( 'mycronjob' ) ) {
wp_schedule_event( strtotime( '00:02:00' ), 'daily', 'mycronjob' );
}
}
add_action('wp', 'cronstarter_activation');
function my_repeat_function() {
//My code the same information to database
}
add_action ('mycronjob', 'my_repeat_function');
一切都很好。 我的问题是我在侧边栏中有 php 代码来接收从 cron_job 保存的数据库中存储的信息, 00:02:00之后的新一天访问者第一次访问该站点时,收到的信息是前一天的信息。
我认为当天的第一个访问者,首先看到侧边栏的结果,这是前一天的信息,然后激活cronjob。
这是真的吗?如何在不需要第一个访问者的情况下运行 cronjob?
【问题讨论】:
-
wp_cron()仅在有人访问您的网站时有效。它必须以某种方式“触发”。如果您想拥有在用户访问时独立运行的自动 cron,您需要在服务器上使用纯 php 设置 cron 作业。检查this answer 和this。