Главная Новости

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

Опубликовано: 20.10.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 успешно отключен.

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

rss