如前所述,WP-Cron不会连续运行,如果有关键任务必须按时运行,这可能是一个问题。 有一个简单的解决方案。 只需设置系统的任务调度程序,就可以按需要的间隔(或者在特定的时间)运行。 最简单的解决方案是使用工具向wp-cron.php文件发出Web请求。
在您的系统上安排任务后,还有一个步骤要完成。 WordPress将在每次加载页面上继续运行WP-Cron。 这不再需要,并将有助于您的服务器上额外的资源使用。 可以在wp-config.php文件中禁用WP-Cron。 打开wp-config.php文件进行编辑,并添加以下行:
define('DISABLE_WP_CRON', true);
Windows
Windows调用其基于时间的调度系统任务计划程序。 可以通过控制面板中的“管理工具”进行访问。
如何设置任务因服务器设置而异。 一种方法是使用PowerShell和基本任务。 创建基本任务后,以下命令可用于调用WordPress Cron脚本。
powershell "Invoke-WebRequest http://YOUR_SITE_URL/wp-cron.php"
Mac OS X and Linux
Mac OS X和Linux都使用cron作为其基于时间的调度系统。 通常从终端接入
crontab -e
命令。 应该注意的是,任务将作为常规用户运行,也可以以root身份运行,具体取决于运行该命令的系统用户。
Cron具有需要遵循的特定语法,并包含以下部分:
- Minute
- Hour
- Day of month
- Month
- Day of week
- Command to execute
- plugin-wp-cron-cron-scheduling
如果一个命令应该运行,而不管其中一个时间段应该使用星号(*)。 例如,如果您希望每15分钟运行一次命令,无论时间,日期或月份如何,它将如下所示:
15 * * * * command
许多服务器都有
wget
wget http://YOUR_SITE_URL/wp-cron.php
每天晚上在午夜触发您网站WordPress Cron的每日电话可能类似于
0 0 * * * wget http://YOUR_SITE_URL/wp-cron.php
下一节:在本教程中,我们将创建一个插件,每5秒钟运行一个任务并显示一条消息。 为了测试这个,我们将直接在浏览器中加载wp-cron.php文件并将数据输出到显示器,否则我们必须执行一些其他操作,也许在数据库中,因为输出通常不会显示在 现场。 所以让我们来看看初步的步骤来快速得到这个设置。