Корректное отключение REST API WordPress – инструкция 2020 года

Корректное отключение REST API WordPress -инструкция 2020 годаПриветствую!
В этой коротенькой заметке я напишу, как правильно отключить REST API WordPress в последней версии движка. Будет приведен обновлённый хук (код) взамен старого, который перестал работать.

Отключение REST API WordPress без плагина (обновлённый код)

Не секрет, что с версии WordPress 4.7 REST API стал частью ядра и отключение происходит иным образом (с помощью обновлённого хука).

До версии движка WordPress 4.7 REST API отключался данным хуком:

Image
// Filters for WP-API version 1.x
add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');

// Filters for WP-API version 2.x
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');

Если у вас активирован DEBUG режим, и вы пользовались данным хуком, то в логе вы можете увидеть следующее: Функция rest_enabled с версии 4.7.0 считается устаревшей! Используйте rest_authentication_errors. REST API более не может быть полностью отключен, вместо этого для ограничения доступа к API может быть использована rest_authentication_errors.

В последней версии WordPress для отключения используется хук:

Image
add_filter( 'rest_authentication_errors', 'code_disable_rest_api' );

function code_disable_rest_api( $access ) {
	return new WP_Error( 'rest_disabled', __( 'REST API disabled' ), array( 'status' => rest_authorization_required_code() ) );
}

Данный код необходимо внести в файл functions.php используемой вами темы. Если вы ранее уже редактировали данный файл, то этот процесс не должен вызвать у вас сложностей.

Отключение REST API WordPress с помощью плагина

Несомненно, REST API WordPress лучше отключить простым хуком, который был приведён выше. Но если вы испытываете затруднения с редактированием файлов WordPress, то можете использовать для отключения плагин.

Данный плагин называется Disable REST API и устанавливается стандартным образом – через интерфейс движка WordPress.

Image

Проверка отключения REST API WordPress

Для проверки корректности отключения REST API добавьте к URL вашего сайта wp-json (пример: http://example.ru/wp-json/) – если при открытии данного URL адреса высветилась коротенькая строчка, то это означает, что REST API WordPress успешно отключен.

Если у вас остались вопросы, вы можете задать их в комментариях.

Закрыть Мы рады, что смогли помочь Вам в решении поставленной задачи или проблемы.

В свою очередь, Вы тоже можете нам очень помочь.

Просто поделитесь статьей в социальных сетях и мессенджерах с друзьями.

Поделившись результатами труда автора, вы окажете неоценимую помощь как ему самому, так и сайту в целом. Спасибо!

Закрыть Попробуйте найти другие ответы на сайте
...или задайте вопрос в комментариях, где Вам обязательно ответят в кратчайшие сроки.
Опрос: помогла ли вам эта статья?
Да
Нет
 
оцените материал:
Ужасная статья
Так себе статья
Нормальная статья
Хорошая статья
Отличная статья!
(голосов: 6, средний балл: 5,00 из 5)
  • Помогла \ понравилась статья? Поделись ею в соцсетях!

Пожертвование сайту IT-Actual.ru (cбор пожертвований осуществляется через сервис «ЮMoney»)
На что пойдут пожертвования \ реквизиты других платёжных систем
Привет.

Не секрет, что в экономике ныне дела обстоят не лучшим образом, цены растут, а доходы падают. И данный сайт также переживает нелёгкие времена :-(
Если у тебя есть возможность и желание помочь развитию ресурса, то ты можешь перевести любую сумму (даже самую минимальную) через форму пожертвований, или на следующие реквизиты:



Номер банковской карты: 2200 7010 5404 2707
Кошелёк ЮMoney: 410015361853797
DonationAlerts: https://www.donationalerts.com/r/it_actual_ru
BitCoin: 1DZUZnSdcN6F4YKhf4BcArfQK8vQaRiA93

Оказавшие помощь:
Сергей И. - 500руб
<аноним> - 468руб
<аноним> - 294руб
Мария М. - 300руб
Валерий С. - 420руб
<аноним> - 600руб
Полина В. - 240руб

Деньги пойдут на оплату хостинга, продление домена, администрирование и развитие ресурса. Спасибо.
С уважением, создатель сайта IT-Actual.ru

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

я хочу написать комментарий анонимно (без ввода имени и адреса электронной почты)

Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.