我们知道 WordPress 有个进程专门用来在指定的时间周期或者将来的某个时间点运行特定的任务,比如定时发布某篇日志。这个功能 WordPress 是通过 WP-Cron 实现的,它会在每次你的博客有人访问或者在后台工作的时候,都会去检查当前是否有任务要执行。这样可能会引起一些问题:
- 增加服务器加载时间,特别是网站访问用户特别多的时候。
- 而网站的访问用户很少或者加载了静态缓存插件,指定的任务可能又不运行。
所以最好不要让 WordPress 在后台执行 WP-Cron,而是使用服务器的真正的定时 Cron 功能来执行。
可以通过在 wp-config.php
添加下面的代码禁用 WP-Cron:
/* Disable background wp-cron */
define('DISABLE_WP_CRON', true);
然后在服务器上创建真正 Cron 作业,如果你使用 Bluehost 这类使用 Cpanel 管理的主机,可以直接在 Cpanel 面板 > 高级选项 > Cron Jobs 中添加:
根据你自己博客定义作业的情况,定义执行的时间周期,比如一天2次等。然后输入下面的命令:
代码语言:javascript复制/usr/bin/php -f /home/username/public_html/wp-cron.php >/dev/null
你需要根据自己主机的实际情况更改下上面的命令中 wp-cron.php 文件的路径。
或者直接使用服务器访问 wp-cron.php:
代码语言:javascript复制wget http://YourDomain.com/wp-cron.php