wp\\U schedule\\u事件无法用于您正在尝试的精确时间测量。使用wp\\u schedule\\u event计划的事件很少在计划运行时准确运行,它在为其配置的时间之后的某个时间运行。
要理解这一点,您必须了解php直到您要求它查看时才知道现在是什么时候。每当有人访问你的网站时,Wordpress都会检查时间。然后将当前时间与任何计划任务的时间进行比较。如果时间等于或大于(晚于)计划时间,它将运行任务。
因此,这意味着,即使您解决了时间安排问题,您的任务也不会运行,直到您选择的时间已经过去,并且有人加载了您的网站。
综上所述,如果您仍然想尝试并实现这一目标,这里有一个可能的解决方案。为函数添加新间隔。php
function cron_add_weekly( $schedules ) {
// Adds once weekly to the existing schedules.
$schedules[\'weekly\'] = array(
\'interval\' => 604800,
\'display\' => __( \'Once Weekly\' )
);
return $schedules;
}
将功能更改为
wp_schedule_event(time(), \'weekly\', \'add_daily_task_schedule\');
如果您在下周六午夜将此计划落实到位,Wordpress将尝试每周在同一时间运行此计划(假设有人访问您的站点触发此计划)。