IT-Actual.ru » WordPress » Корректное отключение REST API WordPress — инструкция 2017 года

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

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

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

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

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

// 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 для отключения используется хук:

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.

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

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

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

 
оцените материал:
Ужасная статьяТак себе статьяНормальная статьяХорошая статьяОтличная статья! (голосов: 3, средний балл: 5,00 из 5)
  • Лучшая благодарность автору —
    поделиться статьёй в соцсетях!

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

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