如何创建和修改WordPress定时任务
Cron是一个Unix/Linux实用程序,通常用于在后台运行的Web服务器上调度命令或脚本。Cron job就是任务本身,用于定期固定时间、日期或间隔调度任务。通常,这些涉及重复的任务,这些任务是自动化的,以节省时间。在WordPress中,这是由WP-Cron处理的,WP-Cron用于模拟系统Cron。
WordPress的cron作业的一些例子可能涉及到安排文章的发布或者备份插件,这些插件按照预先定义的时间表运行。今天,我们将深入探讨如何轻松地为WordPress创建、修改和运行cron计划作业。
如何设置WordPress Cron作业
WP-Cron计划
WP-Cron事件
修改Cron事件
添加Cron事件
WP-CLI管理WP-Cron
如何禁用WP-Cron
如何设置WordPress Cron作业
需要注意的是,WP-Cron与system cron略有不同,各有利弊。比如WP-Cron完全依赖于时间间隔,而系统Cron依赖于具体时间。WP-Cron也只有在页面加载时才有效(后端或前端),这可能不是很可靠。WordPress提供的默认时间间隔是每小时、每天两次和每天。
要安排WP-Cron事件,您必须创建一个自定义挂钩。我们建议你查看官方的WordPress插件手册,它有一个关于安排WP Cron事件的惊人指南。如果你正在寻找用WordPress设置系统cron的替代方法,我们建议你查看Tom Mcfarlin关于定义WordPress cron作业的文章。对于那些可能不是那么高级的人,我们将探索如何轻松使用WP-Cron以及流行的免费WP Crontrol插件。这允许您查看和控制WP-Cron系统中发生的事情。
WordPress插件-WP控件
WP Crontrol有超过80,000个活跃安装,WordPress社区中的许多人非常喜欢这个插件。
这个插件超级好用。显示应该运行哪些CRON作业,这是了解发生了什么以及它是否有效的良好开端。此外,您可以创建一个新的cron作业并触发一个现有的运行。—Josh,Caldera Forms的创始人
你可以从WordPress插件库中下载,或者在WordPress仪表盘的“安装插件”插件下搜索。WP控制的功能包括:
能够查看所有的cron事件及其参数,重复和下次运行时间。
编辑、删除并立即运行任何cron事件。
添加新的cron事件。
添加、编辑和删除自定义cron计划。
WP-Cron计划
激活后,你可以在WordPress仪表盘设置中的“Cron计划”下更改WordPress Cron工作计划。请注意,该插件添加了一个额外的默认周计划。您还可以添加以秒为单位的其他计划,例如每6小时21600秒。
WP-Cron计划
这些间隔也可以使用过滤器添加到代码中,例如:
add_filter( ‘cron_schedules’, ‘example_add_cron_interval’ );function example_add_cron_interval( $schedules ) {$schedules[‘five_seconds’] = array(‘interval’ => 5,’display’ => esc_html__( ‘Every Five Seconds’ ),);return $schedules;}
WP-Cron事件
然后,你也可以使用插件来查看你当前预定的WordPress Cron任务。在工具下,单击Cron事件。许多动作名称很容易识别,因为它们应该匹配插件名称的一部分,如“woocoomerce_cleanup_sessions”或“gravityforms_cron”。
WP-Cron事件
您只需单击操作名称旁边的“立即运行”即可立即运行Cron事件。这在故障排除时很有帮助,因为您可能需要多次运行Cron事件。
成功执行了cron事件。
修改Cron事件
您还可以通过单击操作名称旁边的“编辑”来编辑现有的Cron事件。然后,您可以更改操作名称、参数、下次运行和计划的重复。请注意这一点,因为许多插件依赖于它们的Cron作业才能正常运行。
修改Cron事件
添加Cron事件
您还可以添加Cron事件。在这个例子中,我们将为Disqus插件添加WordPress Cron作业。许多人可能想这样做来改变同步频率,或者如果他们有问题来来回回同步评论。每个第三方插件开发者的文档都应该有他们cron事件的名称,或者更确切地说,是操作名称。在这种情况下,插件使用“dsq_sync_forum”。
如果你从头开始创建一个,你需要在代码中的某个地方有一个相应的动作钩子,比如你的functions.php文件。WP-Crontrol给出了一个例子:
add_action( ‘my_hookname’, ‘my_function’ );
下一步是编写函数。
function my_function() {wp_mail( ‘[email protected]’, ‘WP Crontrol’, ‘WP Crontrol rocks!’ );}
对于Disqus,我们首先添加一个新的600秒(10分钟)cron计划。然后我们点击“Add Cron Event”并输入“dsq_sync_forum”作为我们动作的名称,选择下一个运行时间,并选择我们刚刚创建的10分钟重复。然后,我们单击“添加Cron事件”。这将每10分钟自动运行一次,这样我们可以手动将Disqus评论同步回我们的WordPress数据库。
添加WordPress Cron作业
就是这样!真的很好用。
WP-CLI管理WP-Cron
你也可以在WP-CLI中管理WP-Cron事件和/或WordPress Cron作业。例如,以下命令将为您提供当前cron事件的列表。
wp cron event list
有关其他命令和参数,请参见官方WP-CLI cron文档。
声明:
1,本站分享的资源来源于用户上传或网络分享,如有侵权请联系站长。
2,本站软件分享目的仅供大家学习和交流,请不要用于商业用途,下载后请于24小时后删除。
3,如果你也有好的建站资源,可以投稿到本站。
4,本站提供的所有资源不包含技术服务请大家谅解!
5,如有链接无法下载,请联系站长!
6,特别声明:仅供参考学习,不提供技术支持,建议购买正版!如果发布资源侵犯了您的利益请留言告知!
创网站长资源网 » 如何创建和修改WordPress定时任务