如果您经常需要使用WordPress的定时发布功能,是否曾经遭遇过定时发布失败?WordPress内置了文章定时发布功能,但是,有时您可能会注意到预定的文章根本不会发布。
提前安排WordPress文章很简单。您结束编辑,设定日期,然后您就可以自由地专注于其他事情。问题是WordPress有时无法发布那些预定的文章,这可能会弄乱您的编辑日历。
使在WordPress中安排文章成为可能的底层功能称为“cron”,有时它不会按预期运行。但是,有几种方法可以防止将来发生此问题。
在本教程中,我们将向您展示定时发布错误是什么样的,并深入探讨其发生的原因。然后我们将讨论如何修复WordPress定时发布错误的两种方法,以确保网站定时发布预定的文章。
什么是WordPress定时发布失败
当您在WordPress中结束一篇新文章时,您有几个关于下一步要做什么的选择。您可以将其保存为草稿,立即发布,当然,也可以安排稍后的日期。
通常,整个过程会顺利进行。日期到了,WordPress会检查是否有任何需要发布的文章。如果有,它会继续并公开它们。与此同时,您可以放松并专注于运营您的网站和业务的其他方面。
但是,有时WordPress会完全错过您设置的发布日期。发生这种情况时,如果您查看“文章”选项卡,您会看到类似这样的错误:
您可以随时访问这些问题文章并手动发布它们。但是,当出现预定的发布错误时,WordPress不会让您知道。这意味着如果您想避免任何问题,您需要仔细检查您的文章是否在您设置的时间通过,这违背了提前安排它们的全部目的。
什么原因导致WordPress定时发布失败?
通常,当您安排要在以后发布的WordPress文章时,WordPress使用一种称为“Cron”或“ WordPress Cron ”的技术来按定时计划自动发布文章。
WordPress使用cron作业来安排它需要在特定时间运行的任务。在基于 UNIX 的系统中,这些“cron”也称为“调度程序”,它们有多种用途。例如,您可以使用cron来运行命令或脚本,或者 – 与WordPress一样 – 发布文章。
WordPress的crons问题在于它们并不是真正意义上的“真正的 crons”。由于许多 Web 主机不向用户提供对服务器设置的访问权限,这意味着您无法将 cron 配置为在系统级别运行。WordPress通过使用模拟cron绕过了该限制。WordPress不是让它们以设定的时间间隔运行,而是依靠用户访问来触发这些假cron。
换句话说,每次用户访问您的网站时,内容管理系统 (CMS) 都会检查是否有任何待运行的cron作业需要运行。这是一个聪明的解决方案,但它也带来了一个明显的缺点——如果您的网站没有在正确的时间获得任何访问,那么CMS将不会按预期发布您的文章。届时,错过的日程安排错误就会浮出水面。
即使您的网站不断涌入访问者,这并不意味着您100%不会出现WordPress定时发布错误。例如,如果您的网站暂时关闭,或者如果您使用缓存插件,您的WordPress定时发布任务仍有可能无法按计划运行。
WordPress网站服务器环境或插件冲突可能会导致WordPress产生文章定时发布失败。
但是,如果您的WordPress托管服务器或插件正在影响cron作业,则WordPress将错过计划任务,例如定时发布文章任务。
您的其他cron作业可能仍然偶尔会起作用,例如检查更新或删除自动保存的草稿。但定时发布文章不同,因为一旦错过发布时间,WordPress便不会在其他时间发布博客文章。
对于大多数用户而言,这种情况并不经常发生,对于某些用户而言,它可能会成为WordPress的常见问题。
下面让我们看一下如何修复WordPress定时发布失败错误。
如何修复WordPress定时发布失败错误
1.使用插件修复WordPress定时发布失败错误
理想情况下,WordPress会定期检查是否错过了任何文章发布日期并为您处理。遗憾的是,这不是CMS开箱即用的功能。但是,您可以使用正确的插件轻松添加这种功能,这就是Scheduled Post Trigger的用武之地:
这个插件的工作方式是,每次有人访问您的网站时,它都会检查WordPress最近是否错过了任何预定的发布日期。如果它发现任何错过计划错误的实例,它会立即获取这些文章并发布它们。
换句话说,该插件通过添加一个cron作业来检查您的网站是否有遗漏的cron作业。这种方法听起来有点多余,但确实有效。此外,该插件不需要任何特殊配置,一旦安装并激活它就会自动开始工作。
此外,您也可以安装并启用Missed Scheduled Post Publisher插件。该插件开箱即用,无需任何设置。
该插件仅每15分钟检查一次您的网站,以查看定时发布的WordPress文章是否错过了时间表。
如果找到任何错过的计划项目,则它将状态从计划状态更改为已发布。
它适用于文章,页面,产品以及您在WordPress网站上可能具有的任何其他自定义文章类型。
2.非插件解决WordPress定时发布失败错误
如果安装该插件不能立即解决定时发布错误,那么还可以尝试以下一些技巧。
1.检查WordPress时区设置
设置时区是安装WordPress之后要做的第一件事。但是,有时用户会错过它,而他们的WordPress时区与他们要用于发布和管理其网站的时区不匹配。
只需转到设置»常规页面,然后向下滚动到“时区”部分。从这里,您需要选择您所在地区的时区或要用于WordPress网站的时区。
2.清除WordPress缓存
如果WordPress文章仍然错过定时发布时间表,则可能是由于缓存插件配置不正确所致。尝试清除WordPress缓存,并确保正确配置了WordPress缓存插件以定期自动清除缓存。
3.增加WordPress内存限制
WordPress网站可能会遇到内存不足问题。您可以通过允许WordPress使用更多服务器内存来解决此问题,以保证WordPress更好地运行。
只需将以下代码添加到您的WordPress网站的wp-config.php文件中,位于“That’s all, stop editing! Happy publishing.”前面。
define('WP_MEMORY_LIMIT', '500M');
3.直接通过您的服务器管理Cron作业
如果您的托管计划确实为您提供了对服务器设置的访问权限,那么您可以将 cron 作业配置为在该级别运行。但是,要使这种方法起作用,您需要先禁用WordPress的cron以避免冲突。
为此,请使用FileZilla等客户端通过FTP访问您的网站。导航到您的根文件夹,并在其中查找wp-config.php文件:
右键单击该文件,然后选择“查看/编辑”选项。现在,在文件末尾添加以下代码行:
define('DISABLE_WP_CRON', true);
将更改保存到wp-config.php文件,这就是第一步。接下来,您需要通过您的服务器实现手动cron,大多数提供商允许您使用您的主机控制面板来执行此操作。
例如,如果您有权访问cPanel,则其选项卡下应该有一个名为Cron Jobs的选项:
通过使用此工具,您可以轻松安排新的cron作业按时间间隔运行。根据经验,任何比五分钟更频繁的时间间隔都是多余的,在这些时间运行的cron作业会给您的服务器带来不必要的负担。
但是请记住,尽管您的Web主机可以帮助您在服务器级别安排cron,但您仍然需要手动设置要执行的任务。这涉及编写UNIX 命令,这意味着如果您想手动配置您的cron,您需要复习这些命令。
另一种选择是使用为您处理cron的网络托管服务提供商。
小结
定时发布文章是大多数WordPress用户的关键功能。这个简单的功能使您不必设置提醒来手动发布文章。相反,WordPress会为您处理它,或者至少它应该为您处理。但是,如果相关的cron作业没有正确触发,那么您的文章可能在您自己发布之前不会出现。
有两种方法可以修复WordPress定时发布文章错误。你可以:
- 使用预定后触发器插件。
- 手动排查解决WordPress定时发布失败错误
- 直接通过您的服务器管理cron作业。
希望本教程能够帮助您修复WordPress文章定时发布失败错误!