wordpressКак полностью отключить REST API введенный в WP 4.4
Для чего новый API REST вообще нужен, вопрос, на всякий случай отклучим, а лучше удалим полностью из <head> строку <link rel='httрs://api.w.оrg/' href='httр://sitе.ru/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 );


Поделиться:

Комментарии  

Super User
0 # Super User 02.10.2016 14:32
Забыл добавить важное:

Перед /* Отключаем сам REST API */ обязательно добовляет следующее:

/* Мусорные теги */
add_action('init', 'remheadlink');
function remheadlink()
{
remove_action(' wp_head', 'wlwmanifest_link');
remove_action(' wp_head', 'wp_generator');
remove_action( 'wp_head', 'wp_shortlink_wp_head');
remove_action( 'wp_head', 'wp_oembed_add_ discovery_links ' );
remove_action( 'wp_head', 'rest_output_li nk_wp_head' );
remove_action( 'template_redir ect', 'rest_output_li nk_header', 11, 0 );
remove_action( 'wp_head', 'feed_links_ext ra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'rsd_link' );
Георгий Адвенчиц
0 # Георгий Адвенчиц 04.10.2016 08:49
На своем блоге использую плагин для Я.Новости и поэтому строку
remove_action( 'wp_head', 'rsd_link' );
не стал вносить иначе не будет идти трансляция в новостные агрегаторы.

У вас нет прав для отправки комментариев. Войти используя свою социальную сеть