您是否遇到计划操作在 WordPress 中不起作用的问题?
WordPress 有一个名为 wp-cron 的调度系统,但它有时会错过计划任务,例如发布计划的帖子、发送触发的电子邮件等。由服务器操作系统运行的正确 cron 作业通常更可靠。
在本文中,我们将向您展示如何在 WordPress 中禁用 wp-cron,并介绍两种设置正确 cron 作业的方法。
为什么禁用 wp-cron?
您的WordPress 网站有一个名为 wp-cron 的内置调度系统。它执行时间敏感的任务,例如检查更新、发布计划的帖子、自动创建定期备份、发送触发的电子邮件等。
您可以在我们的指南中了解有关如何查看和控制 WordPress cron 作业的更多信息。
问题是,只有当有人访问您的网站时,WordPress 才会被提示检查计划的作业。这对于大多数站点来说效果很好,但有时会给较小的站点带来问题。
例如,如果您的网站流量较低,那么您预定的帖子可能无法按时发布。如果您的网站访问量很大,那么 wp-cron 会被频繁检查,这可能会影响您网站的性能。
现在,如果您只想修复丢失计划帖子错误,那么您可以使用免费插件Missed Scheduled Publisher,但如果您想解决所有计划操作问题,那么您需要一个真正的 cron 作业。
真正的 cron 作业是由 Web 托管服务器的操作系统运行的,而不是由 WordPress 运行的。您可以将其设置为更可靠地检查计划任务。默认情况下,WordPress 无权在服务器级别进行此设置,但您可以按照我们的教程轻松完成此操作。
话虽如此,让我们看看如何禁用 wp-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); |
由
之后,您需要保存文件并将其上传回您的网站。
当有人访问您的网站时,WordPress 将不再触发 wp-cron。
在 WordPress 主机上设置适当的 Cron 作业
现在您需要设置适当的 cron 作业来运行计划任务。您执行此操作的方式将根据您的WordPress 托管提供商提供的工具而有所不同。
设置 cron 作业的最简单方法是使用cPanel,这是一个流行的网站控制面板,包含在许多网络托管计划中,包括Bluehost。我们将在本教程中使用Bluehost cPanel。
注意:有些网络主机不使用 cPanel,有些甚至可能不允许您创建 cron 作业。如有疑问,您应该联系您的托管提供商或查阅他们的支持文档。您始终可以使用第三方 cron 服务(如下)。
登录主机帐户并导航到 cPanel 后,您应该向下滚动,直到找到“Cron Jobs”,然后单击它。
您可以在“高级”部分找到它,但这可能会因您的托管提供商而异。
这将带您进入一个新页面,您可以在其中创建新的 cron 作业。
不必担心您会看到需要充分了解 Linux 命令的警告。只需要一个命令,我们将在下面向您展示它的具体含义。
如果需要,您可以更改将发送 cron 作业通知的电子邮件地址。默认地址是您注册网络托管时使用的地址,这在大多数网站上都可以正常工作。
现在,让我们向下滚动到“添加新 Cron 作业”部分并设置一个 cron 作业。
首先,您需要决定 cron 作业的运行频率。这可以是您喜欢的任何时间,但我们建议间隔 30 分钟。
您需要单击“通用设置”按钮并从下拉列表中选择一个时间间隔。如果您不确定,“每小时两次”对于大多数网站来说都是不错的选择。
现在您可以输入命令来要求 WordPress 运行其计划任务。您需要将以下代码粘贴到“命令”字段中:
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1 |
确保将“example.com”替换为您自己网站的网址。
完成此操作后,请确保单击“添加新的 Cron 作业”按钮,您将看到新的 cron 作业已添加到下面的列表中。
WordPress 现在将每 30 分钟检查并运行计划任务,而不是在有人访问您的网站时检查并运行。
使用第三方服务设置正确的 Cron 作业
如果您的托管计划不提供适当的 cron 作业,或者它们难以设置,那么您可以使用第三方 cron 服务。
这些是专用服务,允许您使用简单的界面设置 cron 作业。以下是一些更好的:
- EasyCron有一个免费计划,需要每月续订
- cron-job.org是一项免费服务
- 如果您只需要一项 cron 作业,Cronitor是免费的
- SetCronJob提供每年 10 美元起的付费计划
在本教程中,我们将使用EasyCron,因为它易于使用,并且免费计划适合大多数初学者用例。
创建免费帐户后,您可以通过单击左侧的“+ Cron Job”按钮来创建新的 cron 作业。
这将弹出“创建 Cron Job”屏幕。首先,您需要将以下 URL 粘贴到“呼叫 URL”字段中。
https: //example.com/wp-cron.php?doing_wp_cron |
由
确保将“example.com”替换为您自己网站的 URL。
之后,您应该从“何时执行”下拉列表中选择“每 30 分钟”。完成后,不要忘记单击“创建 Cron Job”按钮来存储您的设置。
新的 cron 作业将添加到列表中,并每 30 分钟在您的网站上运行一次 wp-cron。
我们希望本教程可以帮助您了解如何在 WordPress 中禁用 wp-cron 并设置正确的 cron 作业。您可能还想查看我们的WordPress SEO 分步指南,或查看我们的常见 WordPress 错误列表以及如何修复它们。