启用真正的 WP Cron

Cron job 是 *nix 系统中的一种定时任务,可以指定以某个固定周期来运行,相当于 Windows 中的“计划任务”。Wordpress 中也有类似的实现,用于执行 WordPress(包含插件)特定的任务,比如检查更新等,称为 WP Cron,由 wp-cron.php 负责。和 Cron job 不同的是,Wordpress 中没有一个“守护进程”来触发 WP Cron,WP Cron 是由每一次用户访问页面来触发的。换句话说,每次有用户访问的时候,Wordpress 都会调用 wp-cron.php 来检查是否有后台任务需要执行,有的话就创建一个后台进程去执行一下。

虽然 WordPress 官方一直宣称 WP Cron 并不是影响用户打开页面的时间,但有很多民间调查显现 WP Cron 会增加 200ms 到 500ms 的页面打开时间。与其让每个用户都等待,还不如设置一个专门的 Cron job 来做这件事。

具体做法如下:

1. 禁用 WP Cron。在 wp-config.php 中添加一行:

2. 在 crontab 中添加一条新记录(不需要管理员权限):

其中“*/10”表示每10分钟执行一次,你也可以改成其它周期,curl 是下载指定 url 的 linux 工具。修改 crontab 的命令是

注意,如果你用多个 WordPress 站点,比如使用了 WordPress multisite,你需要对每一个站点都 curl 一下,而 wp-config.php 只需要改一次。

参考资料:


4 条评论 添加

  1. 如果你的服务不支持cronjob,你也可以使用这个(http://wordpress.org/plugins/easycron/)插件来设置真正的WP Cron。

发表评论

电子邮件地址不会被公开。 必填项已用*标注