You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gutenberg编辑器中短码更新失败,提示非有效JSON响应求助

Gutenberg短码保存时JSON响应错误的解决办法

问题核心

你的短码在Gutenberg编辑器的编辑预览环节被执行了,而非仅在前端页面渲染时运行。短码输出的HTML/图片内容混入了编辑器保存时的JSON响应,导致验证失败,弹出报错。

修复步骤

  • 限制短码仅在前端执行
    在短码函数里添加判断,避开编辑器环境:

    function pull_tag_images_shortcode($atts) {
        // 检测是否处于Gutenberg编辑界面
        if (is_admin() && isset($_GET['context']) && $_GET['context'] === 'edit') {
            return '[标签图片短码]'; // 返回占位文本,不执行拉取逻辑
        }
        // 原短码逻辑开始
        $atts = shortcode_atts(['tag' => 'default'], $atts);
        // 拉取特定标签文章图片的代码...
        return $final_output;
    }
    add_shortcode('pull_tag_images', 'pull_tag_images_shortcode');
    
  • 清理编辑器相关缓存

    • 清空浏览器的本地存储(Local Storage)和缓存
    • 到WordPress后台工具 > 站点健康 > 信息 > 媒体,点击清除缓存
    • 临时切换到经典编辑器,再切回Gutenberg,重置编辑器状态
  • 排查残留代码与冲突

    • 检查主题functions.php和自定义插件,确保没有残留的短码关联代码
    • 用健康检查插件(测试环境使用)禁用所有其他插件、切换默认主题,逐步排查是否有冲突
  • 规范短码使用
    务必把短码放在专用短码块里,不要直接插入段落块,避免编辑器误解析执行短码逻辑。

关键提醒

短码返回的内容必须是纯字符串,不能包含PHP错误、警告信息,这些内容会直接破坏JSON响应结构,导致保存失败。

内容的提问来源于stack exchange,提问作者Marsh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 19:52:17