使用WP插件在WordPress后台设置定时任务

使用WP插件在WordPress后台设置定时任务
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()函数来确定它是否已经创建,如果没有创建一个定时任务,创建。

安装需要挂在测试钩子上的代码。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部