解决WP“此响应不是合法的JSON响应。”

WordPress后台在5.X里新增加的古腾堡编辑器(Gutenberg)也许是太亲近大多数用户了,第一,很多功能其实找起来并不方便,其次,问题很多,例如大多数臃肿,兼容等问题,例如:

此响应不是合法的JSON响应。

还有发布文章时:

发布失败。此响应不是合法的JSON响应。

所以想用回原有编辑器,可以将以下代码放置在主题functions.php或者自己写个小插件(适合频繁更换主题或者使用商用主题的人)内:

//Wordpress 5.0+ 禁用 Gutenberg 编辑器
add_filter('use_block_editor_for_post', '__return_false');
remove_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' );

补充:古腾堡编辑器出现上述提示的原因还有可能是你服务器部分文件不可写,自动保存,还有REST API问题(查询一下是否做了屏蔽)等。但这些问题建议都先查询伪静态是否做好,尤其nginx环境。

查看REST API是否开着的方法:访问//你网站域名/wp-json/,看是否能打开整个页面的json,如果只有1行,就是被关闭了。

以下是可能造成屏蔽REST API的代码

add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');

remove_action('wp_head', 'rest_output_link_wp_head', 10);
remove_action('template_redirect', 'rest_output_link_header', 11);