如何修复 WordPress 中的无效 JSON 错误

已发表: 2022-06-27

与其他错误不同,WordPress 中的无效 JSON 错误很容易理解和修复。 对于不知情的情况,当您在块编辑器中工作时 WordPress 无法与 Web 服务器通信时,就会出现这种情况。 服务器的响应采用 JSON 格式,这解释了错误。

解决问题不应超过几分钟,并且将是以下之一:

  • 找出简单的事情是否是导致错误的原因。
  • 检查您的 WordPress URL 并在必要时更改它们。
  • 调整您的永久链接设置,或至少重建它们。
  • 查看 WordPress 中的站点健康页面以获取有关如何进行的线索。
  • 重建您的 .htaccess 文件。

其中之一将是解决方案,尽管希望您不需要查看所有这些。 我们在这里从最简单到最难的顺序介绍了五种解决方案,尽管这是相对的,因为您可能很快就会拥有解决每一种解决方案所需的技能。

1. 执行一些简单的步骤来诊断错误

在您深入设置屏幕之前,您需要确保不是 WordPress 中无效 JSON 错误的原因。 但是,请先创建您网站的完整备份,以防您以后需要恢复您的网站。

一旦你在包里有备份,请查看以下所有“陷阱”:

  • 切换到默认主题,以防您的主要主题出现故障。
  • 如果您使用 Web 应用程序防火墙 (WAF),请关闭它。 您可能会暂时禁用整个安全插件。
  • 说到这一点,最好停用和响应您的插件,看看是否有一个是导致 WordPress 中无效 JSON 错误的原因。 这是平台内的典型故障排除步骤,有时可以突出恶意插件的问题。
  • 尝试使用经典编辑器,看看您是否仍然可以在没有看到错误的情况下实现您的需求。 然而,你不应该认为这是一个永久性的修复,更多的是从故障发动机上刮去锈迹。

如果你没有激活 WordPress 的调试模式,你也应该这样做,这样你就可以尝试找出错误的原因。 但是,它很可能是以下解决方案之一,并且不会花费太长时间来解决。

2. 检查您的 WordPress 网址

对于第一种方法,您需要登录 WordPress 并前往“设置”屏幕:

WordPress 设置屏幕。

General选项卡上,检查两个字段,即WordPress Address (URL)Site Address (URL) 。 在绝大多数情况下,它们将与您网站的域名相同:

WordPress 地址 URL 和站点地址 URL 的字段。

您可能会知道您是否在不同的目录下有 WordPress,这将在此处解释明显的区别。 但是,WordPress 不理解的差异将触发无效 JSON 错误。

可能是这些 URL 使用了错误的 HTTP 协议:如果您有安全套接字层 (SSL) 证书,则每个 URL 都应使用https:// 。 我们的建议是检查每个 URL 中的拼写错误,并检查每个 URL 是否使用正确的协议。

进行任何修复后,保存更改并检查错误。 如果它仍然出现,请转到下一个方法。

3. 调整您的 WordPress 永久链接设置

在“设置”页面中,前往“永久链接”选项卡。 您的永久链接结构可能存在问题,这可能会导致 WordPress 中出现无效的 JSON 错误。

Wordress 的永久链接设置屏幕。

这里的解决方案很简单:

  • 选择永久链接类型。 除非您使用自定义结构,否则请坚持使用此页面上的当前选项。
  • 保存您的更改。 这将“休息”您的永久链接设置,并且应该消除 WordPress 中的无效 JSON 错误。

但是,如果您使用自定义永久链接结构,请确保您使用的标签没有拼写错误或语法错误:

WordPress 帖子名称和自定义结构字段。

即使一个字符不合适也会导致错误,因此请修复您发现的任何内容,保存您的更改,并检查更多问题。

4.查看站点健康日志以获取线索

WordPress 包含一个方便的屏幕,可帮助您判断网站的“健康”程度。 站点健康页面本质上是一个关键问题列表和建议的改进,以帮助您站点的各个方面。 例如,您可以优化性能、进行搜索引擎优化 (SEO) 等:

WordPress 的站点健康屏幕。

如果您在 WordPress 中遇到无效 JSON 错误,您可能会看到另一个推荐的改进:“REST API 遇到意外结果”。 这应该会给您一些关于 JSON 错误所在位置的指示,并且您可以从那里进一步调查。

但是,如果您没有太多阅读此类错误日志的经验,您可能需要联系您的主机。 这样,他们可以告诉您问题与什么有关,以及是否是服务器端的问题。

5. 重建你的.htaccess文件

在 WordPress 中解决无效 JSON 错误的最终方法是最困难的,但仍然很简单。 您的.htaccess文件是 Apache 服务器的一组配置。

与 Nginx 不同,Apache 用户可以处理服务器配置。 因此,这可能会导致 WordPress 中出现无效的 JSON 错误。

这里最好的方法是重建.htaccess文件本身,这很容易做到。 事实上,您在更改永久链接设置时可能已经这样做了,因为在此处保存更改会重新生成.htaccess文件。

但是,您可能希望自己从头开始创建一个干净的文件,以确保不会引入错误或保留错误。

首先,您需要备份旧的.htaccess文件。 为此,我们建议使用安全文件传输协议 (SFTP) 访问您的服务器并将.htaccess文件拖到您的本地计算机上。 这是您需要的:

对您的服务器的管理访问权限以及登录凭据。 您通常可以在主机控制面板或主机的电子邮件中找到这些内容。

  • 合适的 SFTP 客户端,例如 FileZilla、Cyber​​duck 或 Transmit。
  • 有关如何使用 SFTP 的知识,我们在博客上的专门文章中对此进行了介绍。

您的.htaccess文件将位于站点主目录的根目录中,过程是将其拖到您的计算机上(并设置为显示隐藏文件):

显示包含 .htaccess 文件的 WordPress 目录的 SFTP 客户端。

从这里,在您的计算机上复制,清除内容,然后添加以下内容:

 # BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress

这是一个默认的.htaccess文件。 将其另存为.htaccess ,然后再次将其上传到您的服务器。 从这里检查错误。

结论

WordPress 中的无效 JSON 错误很容易理解和修复,如果您需要继续在您的网站上匆忙工作,这很好。 此错误的大多数解决方案都与您的服务器的配置设置有关,因此您将在 WordPress 的设置屏幕中四处寻找来解决它。

在某些情况下,您需要从头开始重新构建.htaccess文件,但即使这样也没有摩擦。 但是,如果您仍然在您的网站上看到错误,最好联系您的主机以获取进一步的建议。 服务器上可能有一些东西不能很好地与您的站点配置配合使用,他们需要对其进行调查。

您是否遭受 WordPress 中的无效 JSON 错误的困扰,我们的解决方案之一对您有帮助吗? 在下面的评论部分让我们知道!