当前位置:首页>WordPress建站>网站维护>如何在 WordPress 中禁用 wp-cron 并设置正确的 Cron 定时任务

如何在 WordPress 中禁用 wp-cron 并设置正确的 Cron 定时任务

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

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

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

为什么禁用 wp-cron?

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

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

在 WordPress 中查看计划任务

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

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

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

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

让我们看看如何禁用 wp-cron 并设置正确的 cron 作业。

在 WordPress 中禁用 wp-cron

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

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

您需要将以下代码粘贴到 wp-config.php 文件中,就在“就是这样,停止编辑!快乐的博客 /* That’s all, stop editing! Happy publishing. */“的上方。

define('DISABLE_WP_CRON', true);
将代码粘贴到 wp-config

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

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

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

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

在宝塔面板添加定时作业计划

请查看文章《在宝塔面板添加 WordPress 定时作业计划任务

在cPanel面板添加定时作业计划

cPanel是一个流行的网站控制面板,包含在许多网络托管计划中,包括Bluehost。我们将在本教程中使用Bluehost cPanel。

注意:有些网络主机不使用 cPanel,有些甚至可能不允许您创建 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 分钟检查一次并运行计划任务,而不是在有人访问您的网站时。

总结

WordPress 的定时作业都是通过访问者触发的,网站访问量决定了执行的频次,流量大的触发频次大,服务器消耗多,访问量过低,触发频次就低,导致有些计划无法按期执行。

通过在服务器端设置定时计划,就很好的解决了上面的问题。

拓展阅读:

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
网站维护

使用Local本地环境进行基本的 WordPress 调试

2022-7-13 11:01:10

WordPress插件网站维护

强大灵活的 WordPress 代码管理插件 WPCode,按条件插入任何JS、CSS、PHP代码

2022-7-26 21:43:28

2 条回复 A文章作者 M管理员
  1. 阿锋

    我设置的是每分钟之行一次,感觉频率有点高了

    • 倡萌

      不用设置那么高,一般30分钟一次就可以了

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索