如何在 WordPress 中禁用 wp-cron 并设置正确的 Cron 作业

您是否遇到无法在 WordPress 中运行的计划操作的问题?

WordPress 有一个名为 wp-cron 的计划系统,但它有时会错过计划任务,例如发布计划的帖子、发送触发的电子邮件等。由服务器操作系统运行的正确 cron 作业通常更可靠。

在本文中,我们将向您展示如何在 WordPress 中禁用 wp-cron,并介绍两种设置正确 cron 作业的方法。

如何在 WordPress 中禁用 wp-cron 并设置正确的 Cron 作业

为什么禁用 wp-cron?

您的WordPress 网站有一个名为 wp-cron 的内置调度系统。它执行时间敏感的任务,例如检查更新、发布预定的帖子、自动创建定期备份、发送触发的电子邮件等。

您可以在我们的指南中了解有关如何查看和控制 WordPress cron 作业的更多信息。

在 WordPress 中查看计划任务

问题是只有在有人访问您的网站时才会提示 WordPress 检查预定的作业。这对于大多数网站来说都足够好,但有时它可能会给较小的网站带来问题。

例如,如果您的网站流量较低,那么您预定的帖子可能不会按时发布。如果你的网站流量很大,那么 wp-cron 会经常被检查,这可能会影响你网站的性能。

现在,如果您只想修复丢失的预定帖子错误,那么您可以使用免费插件Missed Scheduled Publisher,但如果您想解决所有预定操作问题,那么您需要一个真正的 cron 作业。

真正的 cron 作业由您的网络托管服务器的操作系统运行,而不是由 WordPress。您可以将其设置为更可靠地检查计划任务。默认情况下,WordPress 无权在服务器级别进行设置,但您可以按照我们的教程轻松完成。

话虽如此,让我们看看如何禁用 wp-cron 并设置正确的 cron 作业。以下是我们将在本教程中介绍的内容:

在 WordPress 中禁用 wp-cron

在您的 WordPress 主机上设置正确的 Cron 作业

使用第三方服务设置正确的 Cron 作业

在 WordPress 中禁用 wp-cron

要禁用 wp-cron,您需要编辑wp-config.php,这是一个核心 WordPress 配置文件。它位于您的 WordPress 站点的根文件夹中,您需要使用 FTP 客户端或网络托管控制面板中的文件管理器。

该文件包含大量敏感信息,做出错误的更改可能会破坏您的 WordPress 网站。我们建议先备份文件,以防万一。您可以按照我们的指南了解如何在 WordPress 中编辑 wp-config.php。

您需要将以下代码粘贴到 wp-config.php 文件中,就在“就是这样,停止编辑!快乐的博客。

define(‘DISABLE_WP_CRON’, true);

将代码粘贴到 wp-config

之后,您需要保存文件并将其上传回您的网站。

当有人访问您的网站时,WordPress 将不再触发 wp-cron。

在您的 WordPress 主机上设置正确的 Cron 作业

现在您需要设置一个适当的 cron 作业来运行您的计划任务。您执行此操作的方式将根据您的WordPress 托管服务提供商提供的工具而有所不同。

设置 cron 作业的最简单方法是使用cPanel,这是一个流行的网站控制面板,包含在许多网络托管计划中,包括Bluehost。我们将在本教程中使用Bluehost cPanel。

注意:有些网络主机不使用 cPanel,有些甚至可能不允许您创建 cron 作业。如有疑问,您应该联系您的托管服务提供商或查阅他们的支持文档。您始终可以使用第三方 cron 服务(如下)。

登录主机帐户并导航到 cPanel 后,您应该向下滚动直到找到“Cron Jobs”,然后单击它。

您可以在“高级”部分找到它,但这可能因您的托管服务提供商而异。

在 cPanel 中查找“Cron 作业”

这将带您进入一个新页面,您可以在其中创建新的 cron 作业。

不要担心您会看到关于需要很好地了解 Linux 命令的警告。只需要一个命令,我们将在下面向您展示它的确切含义。

cPanel Cron 作业页面

如果需要,您可以更改将发送cron 作业通知的电子邮件地址。默认地址是您在注册虚拟主机时使用的地址,这在大多数网站上都可以正常工作。

现在,让我们向下滚动到“添加新的 Cron 作业”部分并设置一个 cron 作业。

首先,您需要确定 cron 作业的运行频率。这可以是您喜欢的任何内容,但我们建议间隔 30 分钟。

您需要单击“通用设置”按钮并从下拉列表中选择时间间隔。如果您不确定,对于大多数网站来说,“每小时两次”是一个不错的选择。

在 cPanel 中创建新的 Cron 作业

现在您可以输入要求 WordPress 运行其计划任务的命令。您需要将以下代码粘贴到“命令”字段中:

wget -q -O – https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

确保将“example.com”替换为您自己网站的 URL。

完成此操作后,请确保单击“添加新的 Cron 作业”按钮,您将看到新的 cron 作业已添加到下面的列表中。

在 cPanel 中查看 Cron 作业列表

WordPress 现在将每 30 分钟检查一次并运行计划任务,而不是在有人访问您的网站时。

使用第三方服务设置正确的 Cron 作业

如果您的托管计划没有提供适当的 cron 作业,或者它们难以设置,那么您可以改用第三方 cron 服务。

这些是专用服务,允许您使用简单的界面设置 cron 作业。这里有一些更好的:

EasyCron有一个免费计划,需要每月续订

cron-job.org是一项免费服务

如果您只需要一项 cron 工作,Cronitor是免费的

SetCronJob提供付费计划,起价为 10 美元/年

对于本教程,我们将使用EasyCron,因为它易于使用,而且免费计划适用于大多数初学者用例。

创建免费帐户后,您可以通过单击左侧的“+ Cron Job”按钮来创建新的 cron 作业。

在 EasyCron 中创建新的 Cron 作业

这将弹出“创建 Cron 作业”屏幕。首先,您需要将以下 URL 粘贴到“要调用的 URL”字段中。

https://example.com/wp-cron.php?doing_wp_cron

确保将“example.com”替换为您自己网站的 URL。

在 EasyCron 中创建新的 Cron 作业

之后,您应该从“何时执行”下拉菜单中选择“每 30 分钟”。完成后,不要忘记单击“创建 Cron 作业”按钮来存储您的设置。

新的 cron 作业将被添加到列表中,并每 30 分钟在您的网站上运行一次 wp-cron。

在 EasyCron 中查看 Cron 作业列表

我们希望本教程能帮助您了解如何在 WordPress 中禁用 wp-cron 并设置正确的 cron 作业。您可能还想查看我们的 WordPress SEO 分步指南,或查看我们的常见 WordPress 错误列表以及如何修复它们。