Отключить REST API в WordPress

Начиная с WordPress 4.4 в ядро CMS добавлена поддержка REST API. Поддержка REST API выводит функционал WordPress совершенно на новый уровень, но в данный момент в большинстве случаев нет никакой необходимости. Чтобы отключить REST API в WordPress, необходимо просто добавить в файл 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);