Веб-Денис
Помогаем создавать лучшее
  • Ответы WP
  • HTML-CSS
  • Фон сайта
  • Блог DM
Главная › Wordpress › Отключаем код

Как отключить REST API в коде страниц на WordPress?

2022-03-18
Источник: неизвестно

Кто не знает, но в Вордпресс с версии 4.4 был добавлен JSON REST API, который может помочь опытным разработчикам подключаться к сайту на Вордпресс, для отображения информации с сайта в приложении для смартфонов.

Отключаем REST API на Вордпресс

Поэтому данную функцию лучше отключить, так как она несёт в себе ещё и следующие минусы.

1. Нагружают страницу HTML лишней строчкой кода.

2. Появляется лишняя уязвимость для DDoS атак.

3. Более медленная работа сайта (советуем отключить emoji)

Я уже молчу про то, что а будет ли переходить поисковой робот по такой ссылки, если да, то как плохо будет это для сайта на Вордпресс.

Поэтому в файл под названием functions.php нужно установить следующий PHP код:

PHP

/** Отключить - REST API WP-JSON
--------------------------------------------------------**/
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' );

Теперь ссылка с тегом link будет удалена из HTML страницы сайта на Вордпресс.

Мы вновь справились с поставленной задачей, и улучшили сайт.

И хочу заметить без использования плагина, а это большой плюс!

С уважением, Денис Мехедов
→Как удалить лишние meta-заголовки на Wordpress?→Как удалить ссылку на canonical на сайте Вордпресс?→Как удалить meta name generator на сайте WordPress?

А Вы оставите комментарий первым?

    Отменить ответ
    Автор Денис Мехедов
    Привет!

    Я Денис Мехедов.

    И я даю ответы на темы:

    Ответов - 160
    • CSS стили 5
    • functions.php 2
    • htaccess 13
    • JavaScript 5
    • RSS лента 9
    • Sitemap.xml 4
    • wp-config.php 9
    • Админка 12
    • Верхняя панель 5
    • Дизайн 9
    • Доступ 3
    • Записи 18
    • Записи выводим 9
    • Комментарии 15
    • Метки 2
    • Миниатюры 7
    • Обновления 6
    • Отключаем код 5
    • Поиск 5
    • Пользователи 2
    • Рубрики 8
    • Статистика 2
    • Страницы 2
    • Шорткоды 3

    • О проекте
    • Автор
    • Контакты
    • Комментарии
    • © Web-Denis 2022
    • Дизайн © ДМ
    • Хостинг Timeweb
    При копировании материалов, ссылка на сайт обязательна.
    Политика конфиденциальности
    Мы cохраняем файлы cookie.