如何解决WordPress更新失败和发布失败错误

已发表: 2024-03-12

当您管理 WordPress 网站时,遇到“更新失败”或“发布失败”等错误可能会给您的一天带来麻烦。 这些错误不仅会阻碍您的内容管理工作,还会阻碍您的受众访问新的和更新的信息。 本指南旨在阐明这些常见的 WordPress 挑战并提供实用的解决方案。

了解“更新失败”和“发布失败”错误

WordPress 生态系统是动态的,块编辑器的引入标志着用户创建内容方式的重大转变。 尽管块编辑器采用了创新的内容管理方法,但有时会因发布失败更新失败等错误而令人沮丧 当您尝试发布新内容或更新现有页面或帖子时,通常会出现这些消息。

WordPress 中发布失败错误。

这些错误的根源通常在于块编辑器依赖 REST API 来创建、保存和发布帖子。 如果由于任何原因 REST API 遇到问题,无论是被阻止还是禁用,块编辑器和 WordPress 之间的通信都会中断。 这种中断就是导致这些错误的原因。 REST API 本质上是允许块编辑器与 WordPress 其余部分进行通信的桥梁。 如果此桥梁无法使用,您发布或更新内容的能力就会受到影响。

WordPress 中更新失败错误。

出现这些错误的原因

有多种因素可能导致这些错误,包括但不限于:

REST API 问题:如前所述,REST API 问题可能会破坏块编辑器的功能。

连接问题:有时,一个简单的互联网连接中断就可能导致这些错误。

插件冲突:有时,插件可能会干扰块编辑器的操作。

权限问题:服务器上不正确的文件权限可能会导致块编辑器无法正常运行。

修复更新失败和发布失败错误

解决更新失败和发布失败错误涉及多种策略。 让我们来看看它们。

使用站点运行状况工具测试 REST API

一个好的起点是使用 WordPress 中的站点运行状况工具来检查 REST API 的状态。 您可以通过以下方式访问该工具并解释其结果:

WordPress 中的站点健康工具

  1. 导航到您的 WordPress 仪表板。
  2. 转到工具>站点运行状况
  3. 选择“状态”选项卡可查看 WordPress 安装的任何问题。

如果 REST API 被阻止,站点运行状况工具将向您发出警告,并显示一条消息,指出“REST API 遇到意外结果”。 此消息表明 WordPress 与服务器的通信方式存在故障,影响了块编辑器等功能。

了解具体错误

该工具将显示导致意外结果的特定错误这可能包括从“401 未授权”响应(表明权限问题)到“403 Cookie Nonce 无效”消息(表明 Cookie 或随机数验证存在问题等)。

修复 REST API 问题的方法取决于所识别的具体错误。 以下是常见错误的细分以及解决方法:

401 未授权错误

此错误意味着身份验证失败或未提供。 检查是否有任何安全插件错误地阻止了 REST API,或者 .htaccess 文件中是否存在可能限制访问的错误配置。

403 Cookie Nonce 无效

随机数是一种安全令牌,用于验证向服务器发出的请求是否来自合法来源。 此错误表明令牌无效或已过期。

清除浏览器缓存和 cookie。 如果问题仍然存在,请暂时禁用插件以查看是否是插件冲突造成的。

操作超时

这表明服务器响应时间过长,可能是由于负载过重或资源限制。

增加 php.ini 文件中的 PHP 执行时间限制,或联系您的托管提供商以获取管理服务器资源的帮助。

其他错误

如果错误不符合上述类别,则可能是由于插件或主题冲突、服务器配置问题或文件权限不正确造成的。

通用解决方案

  • 切换到默认 WordPress 主题以排除与主题相关的问题。
  • “设置” > “常规”中检查您的 WordPress 和网站 URL ,以确保它们正确。

WordPress 仪表板常规设置页面,突出显示网站 URL

在 WordPress 中重新启用 REST API 以修复错误

解决这些错误通常会用到 REST API。 无论是被 Cloudflare 阻止、被插件禁用,还是面临身份验证问题,您都可以采取多种途径来解决问题。 让我们来看看一些最有效的解决方案,以重新启用 REST API 并使您的 WordPress 网站重回正轨。

检查 Cloudflare 设置

如果您使用 Cloudflare,其防火墙可能会阻止合法的 REST API 请求,并将其误认为是潜在威胁。 以下是解决这个问题的方法:

  1. 导航到您的 Cloudflare 仪表板以查看您的安全设置。
  2. 查找可能阻止访问 REST API 的任何规则。 这可以通过包含“/wp-json/”的路径来识别,该路径是 REST API 的 URL 结构的一部分。
  3. 如果您发现阻止 REST API 的规则,请尝试调整其设置或暂时禁用它,看看是否可以解决问题。

按顺序禁用插件

插件,尤其是与安全和优化相关的插件,有时可能会阻止 REST API。 这是识别插件是否是罪魁祸首的系统方法:

WordPress 管理仪表板插件页面,其中选择了用于停用的批量操作。

  1. 从 WordPress 仪表板,转到插件部分并停用所有插件。
  2. 停用后,检查 REST API 问题是否仍然存在。 如果问题得以解决,则问题可能是由其中一个插件引起的。
  3. 逐一重新激活您的插件,并在每次激活后检查 REST API 的功能。 一旦错误再次出现,您就找到了有问题的插件。
  4. 一旦确定,要么调整插件的设置以允许 REST API 请求,要么寻求替代插件,要么向插件的支持人员寻求指导。

通过 .htaccess 文件进行身份验证

对于在 REST API 身份验证方面遇到问题的站点,可能需要对 .htaccess 文件进行调整。 这是一个谨慎的方法:

  1. 在进行任何更改之前,请确保您有 .htaccess 文件的备份。
  2. 将以下行添加到您的 .htaccess 文件以方便 REST API 身份验证:
  3.  RewriteRule .* - [E=REMOTE_USER:%{HTTP:授权}]
  4. 此行将 Authorization 标头传递给 WordPress。

保存更改后,检查 REST API 是否正常运行。

解决 Windows 服务器问题

在 Windows 服务器上运行 WordPress 可能会带来独特的挑战。 如果这是您的设置并且您面临 REST API 问题,编辑 web.config 文件可能是解决方案:

  1. 该文件应该位于 WordPress 安装的根目录中。 如果不存在,您需要创建一个。
  2. 确保该文件允许处理 WordPress 漂亮的永久链接和 REST API。 Microsoft 提供了有关 URL 重写规则的 web.config 配置的指南。

使用 WordPress 调试模式

当通常的修复似乎无法重新启用 WordPress 中的 REST API 时,打开 WordPress 的调试模式可以揭示难以捉摸的问题。 这个强大的工具专为开发人员和管理员设计,通过提供 WordPress 安装中发生的情况的幕后观察来诊断和解决问题。 让我们逐步了解如何激活调试模式并有效地使用它来查明和解决阻止您连接到 REST API 的问题。

激活 WordPress 调试模式

调试模式会将详细的错误消息和 PHP 警告记录到文件中,从而深入了解可能导致“发布失败”或“更新失败”错误的原因。 启用它的方法如下:

wp-config.php文件位于 WordPress 站点的根目录中。使用 FTP 客户端或通过托管提供商的文件管理器访问它。

  1. 使用文本编辑器打开文件。
  2. 找到这样一行:/* 就这样,停止编辑!快乐的博客。*/
  3. 在此行之前插入以下代码:
  4.  php
    // 启用 WP_DEBUG 模式
    定义('WP_DEBUG',真);
    // 启用调试日志记录到 /wp-content/debug.log 文件
    定义('WP_DEBUG_LOG',true);
  5. 添加代码后,保存更改并将文件重新上传到服务器(如果您使用的是 FTP 客户端)。

使用调试模式来识别问题

激活调试模式后,WordPress 将开始将错误记录到wp-content目录名为debug.log的文件中以下是如何使用此文件进行故障排除:

  1. 导航到服务器上的wp-content目录。 您可以在此处找到debug.log文件。
  2. 打开debug.log并查找与 REST API 相关的错误或可能干扰发布或更新帖子的任何其他问题。
  3. 根据记录的错误,采取必要的步骤来解决根本问题。 这可能涉及更新插件、主题或进行其他配置更改。

解决问题后,禁用调试模式非常重要,以防止日志文件变得过大并可能暴露敏感信息。

返回到您的wp-config.php文件并将WP_DEBUGWP_DEBUG_LOG设置false或删除您添加的行。

10Web 客户的替代方案

如果您使用 10Web 托管站点,则可以通过 10Web 仪表板访问错误日志。

登录 10Web 仪表板。

  1. 登录您的 10Web 仪表板。
  2. 单击您要查看日志的网站。
  3. 导航到托管服务>日志

请阅读有关访问日志的文章以获取更详细的说明。

如果您已完成所有故障排除步骤,但仍然面临 WordPress 中的“发布失败”错误,那么是时候考虑 DIY 修复之外的问题了。 有时,问题可能更复杂,涉及服务器设置、安全措施或不易识别的根深蒂固的插件冲突。 在这种情况下,寻求专业支持可以提供您所需的突破。 解决方法如下:

联系您的托管提供商

通常,WordPress 问题的根源在于服务器配置或限制。 如果您怀疑可能是这种情况,或者您的托管提供商提供 WordPress 特定支持,那么您应该首先致电他们。

咨询插件或防火墙提供商

如果您使用的是 Cloudflare 等工具或可能会干扰 REST API 的特定 WordPress 插件,那么联系他们的支持团队可能非常有价值。 就是这样:

识别工具:查明您怀疑导致问题的工具或服务。

查找文档:在联系支持之前,请检查提供商的帮助文档。解决方案可能已经存在。

联系支持人员:如果文档无法解决您的问题,请联系该工具的支持团队,提供有关问题和您的设置的详细信息。

利用 WordPress 支持论坛

对于与第三方服务或托管无关的问题,WordPress 支持论坛是知识和专业知识的宝库。 无论是造成麻烦的免费插件还是古怪的 WordPress 行为,社区都可能有答案:

  • 许多问题已经得到解答,因此请在论坛中搜索您的问题。
  • 如果您找不到解决方案,请发布您的问题。 尽可能详细,提及错误、您当前的 WordPress 版本以及您已经尝试过的任何故障排除步骤。

临时解决方法:安装经典编辑器插件

当您解决“发布失败”错误时,请考虑安装经典编辑器插件作为临时修复。 该插件利用 TinyMCE 编辑器,它不依赖于 REST API 来发布或更新帖子,允许您暂时绕过该问题。 安装方法如下:

WP 中的经典编辑器

  1. 在 WordPress 仪表板中,导航至插件部分。
  2. 单击“新增”并搜索“经典编辑器”插件。
  3. 在搜索结果中找到该插件,单击“立即安装” ,然后单击“激活”

请记住,虽然经典编辑器可以帮助您在短期内管理内容更新,但解决影响块编辑器的根本问题至关重要。 这可确保问题解决后您可以充分利用 WordPress 的现代编辑功能。

结束语

在这篇博客中,我们解决了 WordPress 中的“发布失败”和“更新失败”错误,探索了各种策略来诊断和解决这些问题。 从检查 REST API 的功能、调整 Cloudflare 中的设置、禁用冲突的插件以及修改服务器或 WordPress 配置开始,我们介绍了解决潜在原因的全面步骤。 当这些措施达不到要求时,向托管提供商、插件或防火墙服务或 WordPress 社区寻求支持仍然是可靠的后备措施。 作为一种临时解决方法,经典编辑器插件提供了一种即时(尽管是短期的)解决方案。 这次旅程强调了有条不紊地进行故障排除和利用可用资源来维持流畅的 WordPress 发布体验的重要性。

利用 AI 加速 WordPress 网站创建

使用 10Web AI Website Builder 创建适合您业务需求的自定义 WordPress 网站,速度提高 10 倍。

生成您的网站
无需信用卡