如何管理 WordPress Cron 作业

已发表: 2021-05-14
WordPress的cron
关注@Cloudways

许多 WordPress 开发人员,尤其是初学者,都有一个共同的问题“什么是 WordPress cron”和“如何管理 WordPress cron 作业?” 紧接着。

答案很简单:使用我将在本文中概述的任何 WordPress cron 作业管理方法。

  • 什么是 WordPress Cron?
  • 如何管理 WordPress Cron 作业
    • 如何使用插件管理 WordPress Cron 作业
      • 第 1 步:安装 WP 控制插件
      • 步骤 2:查看和理解 Cron 事件
      • 第 3 步:编辑 Cron 事件
      • 步骤 4:添加自定义时间间隔
      • 第 5 步:添加新的 Cron 事件
    • 如何使用 WP CLI 管理 WordPress Cron 作业
  • 如何设置真正的 Cron 作业

Cron 是一个标准的 UNIX 实用程序,用于在特定时间、日期或间隔安排任务执行(脚本或命令)。 它要执行的任务称为 cron 作业。 您可以猜到,cron 作业的目的是自动执行重复性任务,以便您可以更有效地利用时间。

但是,WordPress cron 作业与标准 cron 略有不同,这就是为什么在深入研究操作和流程之前,您需要了解 WordPress cron 是什么以及它是如何工作的。

什么是 WordPress Cron?

WordPress 有自己的 cron 系统,用于安排任务,例如检查更新、安排发布帖子以及从垃圾箱中删除评论。 所有 cron 作业都由 WP-Cron 处理。

虽然名称(和主要思想)来自 UNIX cron,但 WordPress cron 不是这样工作的,它使用间隔进行任务调度。 WordPress 提供的默认时间间隔是每小时、每天两次、每天和每周。 在这里,基于时间的任务取决于访问您网站的用户,这意味着 WordPress cron 只有在用户访问您的网站时才会执行。

换句话说,WordPress cron 在页面加载时执行。 有时这不是那么可靠,这就是为什么许多用户更喜欢服务器级 cron 作业而不是 WP-Cron 作业的原因。

在本文中,我将向您展示如何管理 WordPress cron 作业并为您的 WordPress 站点设置真正的 cron 作业。

如何管理 WordPress Cron 作业

有很多方法可以设置和管理 WordPress cron 作业,但我将向您展示两种流行的方法。

第一个使用像 WP Crontrol 这样的 cron 管理插件,它允许您直接从 WP 仪表板添加、修改和管理 WordPress cron 作业。 您还可以创建 cron 作业、构建挂钩和函数,并为任务定义自定义时间间隔。

第二种方法是使用 WordPress CLI。

如何使用插件管理 WordPress Cron 作业

我将使用 WP Crontrol 插件,它允许您查看和控制 WordPress 应用程序的 WordPress cron。 它是用于处理 WP cron 作业的流行插件,并且有超过 100,000 个活动安装。
这是管理 WordPress cron 作业的最简单方法,您可以快速查看、编辑、创建、删除,并且可以使用 WordPress cron 事件执行更多操作。

让我们开始吧!

第 1 步:安装 WP 控制插件

就像任何其他插件一样,您需要从插件存储库安装 WP Crontrol 并激活它。 安装后,您会注意到“工具”选项卡中出现了一个新选项“Cron Events”。

定时事件

步骤 2:查看和理解 Cron 事件

接下来,您需要单击Cron Events ,您将看到在您的 WordPress 应用程序上运行的 cron 事件列表。

cron 事件列表

在此部分,您可以运行、编辑和删除您的 cron 事件。 当您将鼠标悬停在任何 cron 事件上时,您将看到此选项。

您还将找到有关这些 cron 作业的有用信息,并快速确定哪个 cron 作业用于什么目的等等。 在第一列中,Hook 显示了 WordPress 核心或任何插件使用的钩子的名称。 例如,前缀“ wp ”只是表明它是WordPress核心的一个cron。 您还会注意到,没有删除这些 cron 事件的选项,但是您可以使用立即编辑运行选项。 同样,对于您的插件,您会注意到使用了其他前缀(例如,对于 WooCommerce,“wc”或“woocommerce”)。

第二列参数只包含传递给钩子函数的参数。

第三列显示此 cron 作业下次运行的时间。

第四列Action显示此 cron 将执行的操作(cron 作业的“功能”)。
最后一列定义了 cron 作业的重复时间。 这基本上是计划任务的时间间隔。

第 3 步:编辑 Cron 事件

现在让我们编辑一个 WP cron 作业来测试这个插件。

转到挂钩的名称并单击编辑。 将弹出一个新部分“编辑 Cron 事件”,您将在其中看到不同的字段。 就我而言,我编辑了“wp_privacy_delete_old_export_files”钩子。 接下来,我将把这个 cron 作业的重复周期改为“每十五分钟”。

编辑 cron 事件

步骤 4:添加自定义时间间隔

接下来,我将向您展示如何为您的 cron 事件添加自定义时间间隔。 为此,单击“ Cron Schedule ”选项卡,将出现一个新屏幕,您将在其中看到计划时间间隔的详细信息。 接下来,向下滚动到底部,您将看到“添加Cron计划”。 填写字段并单击添加Cron计划

添加 cron 计划

请注意,间隔的输入以秒为单位。 我将使用 600 秒将间隔设置为 10 分钟。

现在您可以编辑您的 cron 事件并将其替换为您自己的自定义时间间隔。

编辑 cron 事件

第 5 步:添加新的 Cron 事件

现在您知道如何为您的 cron 事件管理简单的任务,但是如果您想为您的 WordPress 应用程序添加您自己的 cron 作业怎么办。 别担心,它是如此简单,您所需要做的就是按照以下说明进行操作。

首先,单击添加 Cron 事件,您将进入添加 cron 部分。 然后,根据需要给出一个钩子名称(应该遵循正常的 PHP 命名约定并且没有空格)。

然后,添加参数(它是可选的),在我的情况下它是空白的。 接下来,选择任何选项并在Next Run字段中输入时间。 最后,为您的新 cron 选择一个重复时间(计划时间),然后单击Add Event

添加 cron 事件

如果您对此有任何疑问,则可以从您的 cron 事件中检查任何正在运行的 cron 作业的设置。

添加新的 cron 作业后,转到cron事件选项卡并检查您新创建的 cron。 您会注意到,在操作列中,它会向您显示None (错误)。 这是因为您尚未为此 cron 作业定义任何操作。 因此你需要在主题的functions.php文件中写几行代码并添加一个动作。

没有错误

注意:在继续之前,强烈建议备份 WordPress 站点。

让我们打开文件并在<?php之后添加以下代码行:

 add_action('cloudways_new_cron', 'cw_function');
函数 cw_function() {
wp_mail( '[email protected]', 'Cloudways Cron', 'Cloudways - a Managed Cloud Hosting!');
}

不要忘记用您自己的电子邮件地址替换我的电子邮件地址。

函数 php 电子邮件地址
您可以在上图中看到,我直接使用 WordPress 仪表板对其进行了编辑。 如果你愿意,你可以通过像 FileZilla 这样的 FTP 客户端来编辑这个文件。

接下来,让我们检查电子邮件收件箱,看看我们是否收到了邮件。

电子邮件

多田! 大功告成,我们成功添加了一个新的 cron 事件。

如何使用 WP CLI 管理 WordPress Cron 作业

您还可以从 WordPress CLI 查看和管理所有 WordPress cron 作业。 在 Cloudways,您需要启动终端并使用服务器凭据登录。

接下来,放置 WordPress 应用程序的路径。 就我而言,网址是:

 光盘应用程序/urrghmpqks/public_html/ 

cron 作业 WP CLI

接下来,您需要运行此命令:

 wp cron 事件列表

cron 作业 WP CLI

您可以看到挂钩名称、下一次运行时间、下一次运行相关和重复次数(预定时间)。

如何设置真正的 Cron 作业

现在,您知道 WordPress cron 工作是什么以及它是如何工作的。 如果由于任何原因(例如低流量、需要在特定时间运行的重要任务、过多的 DDoS 攻击或高页面加载时间),您想用真正的 cron 作业替换它,该怎么办?

让我们开始吧!

第 1 步:打开并编辑 wp-config.php 文件

首先,您需要使用 FTP 客户端(如 FileZilla)或 SSH 客户端(如 puTTY)打开 wp-config 文件。 之后,编辑文件并将以下代码行放在它说 /* 就这样,停止编辑! 快乐的博客。 */

代码:

 定义('DISABLE_WP_CRON',真); 

编辑 wp 配置文件

此代码禁用 WordPress 站点上正在运行的 cron 事件,现在您可以创建一个真正的 cron 作业。

通过 Cloudways 平台管理真正的 Cron 作业

从 3 天免费试用开始

现在试试

步骤 2:向服务器添加新的 Cron 作业

接下来,登录您的 Cloudways 平台,然后转到应用程序管理面板> Cron 作业管理>高级部分。

添加新的 cron 作业

然后添加以下命令并单击保存更改:
*/5 * * * * wget -q -O - 'https://wordpress-413270-1299955.cloudwaysapps.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

高级 cron 选项卡

在上面的命令中,首先,我为 cron 作业定义了五分钟的间隔。 您可以使用此站点来检查时间表表达式。 就我而言, */5 * * * *是区间表达式。

恭喜! 您已成功添加了一个真正的 cron 作业。

最后的话!

我希望本文能帮助您了解 WordPress cron 工作的工作原理。 我已经讨论了两种管理 WordPress cron 作业的方法; 一个通过插件,另一个通过 WP-CLI。 我还讨论了如何在实时服务器上设置真正的 cron 作业。

如果您有任何疑问,请在下面的评论部分告诉我。