Коректне відключення 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 успішно відключений.

Ссылка на основную публикацию