Ошибка обновления — ответ не является допустимым ответом JSON

Причин по которой может появится данная ошибка может быть много, включая полностью индивидуальные. Но самая частая — это отключение событий REST API. Думаю, что у многих в файле темы functions.php что-то такое должно быть. Так же это могут быть плагины оптимизаторы которые отключают это событие.

Ошибка обновления — ответ не является допустимым ответом JSON

В общем не будем разводить балаган и перейдем сразу к делу.

Для начала попробуйте просто зайти во вкладку «Настройки» –> «Постоянные ссылки» и просто нажмите на кнопку «Сохранить изменения» ничего при этом не изменяя. Проверьте, если проблема не ушла, то идем дальше.

Зайдите в файл functions.php который находится в вашей теме (wp-content -> themes -> ваша тема) и проверьте если у вас код который отключает событий REST API и wp-json. Обычно они находится в конце файла functions.php.

Выглядит он примерно так:

// Отключаем сам REST API
add_filter('rest_enabled', '__return_false');

// Отключаем фильтры REST API
remove_action( 'xmlrpc_rsd_apis',            'rest_output_rsd' );
remove_action( 'wp_head',                    'rest_output_link_wp_head', 10, 0 );
remove_action( 'template_redirect',          'rest_output_link_header', 11, 0 );
remove_action( 'auth_cookie_malformed',      'rest_cookie_collect_status' );
remove_action( 'auth_cookie_expired',        'rest_cookie_collect_status' );
remove_action( 'auth_cookie_bad_username',   'rest_cookie_collect_status' );
remove_action( 'auth_cookie_bad_hash',       'rest_cookie_collect_status' );
remove_action( 'auth_cookie_valid',          'rest_cookie_collect_status' );
remove_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100 );

// Отключаем события REST API
remove_action( 'init',          'rest_api_init' );
remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 );
remove_action( 'parse_request', 'rest_api_loaded' );

// Отключаем Embeds связанные с REST API
remove_action( 'rest_api_init',          'wp_oembed_register_route'              );
remove_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
// Отключаем wp-json
add_filter('rest_enabled', '__return_false');
remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' );
remove_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 );
remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );
remove_action( 'auth_cookie_malformed', 'rest_cookie_collect_status' );
remove_action( 'auth_cookie_expired', 'rest_cookie_collect_status' );
remove_action( 'auth_cookie_bad_username', 'rest_cookie_collect_status' );
remove_action( 'auth_cookie_bad_hash', 'rest_cookie_collect_status' );
remove_action( 'auth_cookie_valid', 'rest_cookie_collect_status' );
remove_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100 );
remove_action( 'init', 'rest_api_init' );
remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 );
remove_action( 'parse_request', 'rest_api_loaded' );
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
remove_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'wp_head', 'wp_oembed_add_host_js' );

Если такой или похожий код есть, то удаляем и идем в Настройки –> Постоянные ссылки и нажмите на кнопку «Сохранить изменения» ничего при этом не изменяя и проверяем ушла ли ошибка.

Если же такого кода у Вас нет, не отчаивайтесь и обращайтесь к профессионалам для выявления неисправности.