配置WordPress主题时RESTAPI问题

在这里插入图片描述

问题1:

session_start()函数调用生成了一个会话.该会话干扰了RESTAPI及环回请求。在做出任何HTTP请求前,该会话必须由session_write_close()函数关闭.

问题2:

RESTAPI是WordPress及其他应用与服务器通信的一种途径。例如区块编辑器页面,它依赖REST来显示及保存您的页面和文章.

RESTAPI调用返回了预料之外的结果:

(404)<html><head><title>404未找到</title></head><body><h1><h1>404未找到</h1><h1><hr><调用返回了预料之外的结果>nginx</Center></body></html>

出现上面两个问题建议先排查下面几种情况:

  • REST API 未启用:请确保已经启用了 WordPress 的 REST API。可以通过前往“设置”>“写文章”并确保“启用WordPress的REST API”选项已勾选来启用它。

  • 主题不支持 REST API:如果您正在使用的主题不支持 WordPress 的 REST API,则会出现 404 错误。请查看主题文档或联系主题作者以了解其是否支持 REST API。

  • 主题中的自定义代码导致:如果主题中包含自定义代码,则可能存在与 REST API 相关的代码导致。请尝试禁用自定义代码并检查是否可以正常工作。

  • 插件导致:如果你安装了其他插件,也可能会导致与 API 。尝试禁用所有插件,并慢慢地逐一启用它们,找到导致问题的插件。

第一个问题可能是因为在WordPress的REST API请求或执行环回请求之前,有一个被开启但未关闭的会话。这可能会干扰REST API和环回请求导致出现问题。

要解决这个问题,可以尝试添加下面代码到您的主题的 functions.php 文件中,在创建会话后立即关闭它:

add_action( 'init', function() {
    if ( session_id() ) {
        session_write_close();
    }
} );



添加完将在WordPress的初始化期间自动运行。通过检查当前是否存在会话来关闭会话,并在完成相关任务后尽快关闭,以确保没有Open session会干扰REST API 和环回请求。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SmallFatMan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值