PHP本身是无法
创建定时
任务,但是WordPress伪定时任务(cron)API,这是非常方便和易于使用,包括WordPress本身的定时发布,它依赖于这个API。
WP cron是一套WordPress的定时触发机制。它可以循环
执行任务。如:定期发布新文章,定期
检测版本等
功能都是通过这个实现的。
WP后台可以实现我们能做些什么来更新和提交
网站的数据,并定期发送贺卡或形式的读者。
其原理是将所创建的定时任务存储在数据库中。当有人访问时,它将决定是否去执行定时任务,如果时间出现,它将执行。
由于这个原理,有可能在执行的时候有些偏差,但随着Web
浏览的增加和
网络爬虫的
连续访问,定时任务的时间会越来越准确。
WP Cron效率不高,但使用起来非常方便,整理出相关的使用功能如下。
功能
wp_get_schedule
通过钩子别名获取预定的钩子。当你成功时,返回周期类(每小时,每天两次,每天,…),并返回
错误。当你失败的时候。
$钩子别名
对于美元的相应功能
参数args数组:钩(可选)
wp_get_schedules
WordPress的
默认周期类是每小时和每天两次和日常。可以通过这个
函数获得所有这些循环数组。
默认
情况下,上述
方法获得的数组对象如下所示。
(阵列
('hourly= >阵列
间隔=3600,
显示= >天时
),
('twicedaily= >阵列
间隔=43200,
显示= > 'twice日报
),
('daily= >阵列
间隔=86400,
显示= >一旦报
)
)
我们可以到cron_schedules过滤器添加更多的
类型。添加示例如下:
add_filter('cron_schedules ','cron_add_weekly);
功能cron_add_weekly(元表)
{
每周添加一次到现有的日程表。
每周} = { $表阵列(
间隔= 604800, 1 = 60秒/周24小时60分钟*** 7天
显示= > __(一旦周刊)
);
返回$时间表;
}
wp_next_scheduled
调度安排的下一个
运行时间是通过钩子别名获得的,该别名是以整数返回的。它
经常用来决定是否已经作出预定的安排。
$钩子别名
对于美元的相应功能参数args数组:钩(可选)
wp_schedule_event
根据循环周期
设置WordPress挂钩,并在预定时间触发挂钩的相应功能。
时间戳:时间(整数)
复发周期类:美元(每小时,每天两次,每天,…)
$钩子别名
对于美元的相应功能参数args数组:钩(可选)
wp_reschedule_event
WordPress钩子是根据循环重新排列的。但是我
发现这个方法不能正常
工作。抄本非常粗心。如果有人知道如何使用,请告诉我。
wp_unschedule_event
预定安排通过预定时间和划定别名
取消。
时间戳:时间(整数)
$钩子别名
对于美元的相应功能参数args数组:钩(可选)
wp_clear_scheduled_hook
通过钩子别名
删除计划的钩子。
$钩子别名
wp_schedule_single_event
一个WordPress钩子预定在预定的时间触发钩子匹配的功能。不像wp_schedule_event,该方法只触发一次,并且没有周期预留。
时间戳:时间(整数)
对于美元的相应功能参数args数组:钩(可选)
从上面函数可用的参数中,我们可以对以下参数进行
排序:
参数
为时间戳
(整数)(第一次执行这个计时任务),我们需要发送一个时间戳。一般来说,它是当场执行的,但是我们不能使用时间()函数。相反,我们使用WordPress的时间函数current_time()。
默认值:无
$复发
(字符串)(必须)执行
频率。每天的时间。你可以填写每小时(每小时执行),每天两次(一天两次,一天12小时),每天(24小时)。
默认值:无
美元挂钩
(字符串)必须执行的钩子。在执行定时任务时调用钩子,钩子挂在函数上实现计时执行功能。
默认值:无
一美元
(数组)传递的参数(可选)传递给
安装在定时钩上的函数的函数。
默认值:无
返回值
(布尔|空)如果添加成功返回,成功返回false
例子
如果(!wp_next_scheduled(测试))wp_schedule_event(current_time('timestamp),'twicedaily '测试');
首先,该wp_next_scheduled()函数来确定它是否已经创建,如果没有创建一个定时任务,创建。
安装需要挂在测试钩子上的代码。