Как проверять и использовать REST API в WordPress: практическое руководство

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

Проверка доступности REST API в WordPress

Первый шаг — проверить, включен ли REST API на вашем сайте и корректно ли он работает. По умолчанию, начиная с версии 4.7, REST API включен в ядро WordPress.

Для проверки можно просто открыть в браузере следующий URL:

https://ваш-домен.ru/wp-json/

Если API работает, вы увидите JSON с общей информацией и зарегистрированными маршрутами. Если вместо этого получаете ошибку 404 или другую, возможно, REST API отключен или неправильно настроен.

Отключение REST API и способы включения

Иногда администраторы отключают API с помощью фильтров или плагинов. Например, чтобы проверить, не заблокирован ли API, проверьте наличие в теме или плагинах следующего кода:

add_filter('rest_enabled', '__return_false');

Чтобы включить REST API, просто удалите или закомментируйте этот код.

Использование REST API для получения данных

REST API позволяет получать данные с сайта WordPress в формате JSON. Например, чтобы получить список последних постов, выполняем GET-запрос:

https://ваш-домен.ru/wp-json/wp/v2/posts

Ответ будет содержать JSON-массив с информацией о постах, включая заголовок, контент, дату и другие поля.

Фильтрация и параметры запроса

Можно использовать параметры для фильтрации результатов. Например, получить 5 последних опубликованных постов категории с ID 3:

https://ваш-домен.ru/wp-json/wp/v2/posts?categories=3&per_page=5&status=publish

Это удобно для интеграции с внешними приложениями или создания кастомных фронтендов.

Создание собственных REST API эндпоинтов в WordPress

Иногда стандартных эндпоинтов недостаточно, и нужна своя логика. Для этого можно регистрировать собственные маршруты.

Пример регистрации простого эндпоинта для вывода кастомного сообщения:

function expert_review_register_custom_route() {
  register_rest_route('expert-review/v1', '/message/', array(
    'methods' => 'GET',
    'callback' => 'expert_review_custom_message_callback',
  ));
}
add_action('rest_api_init', 'expert_review_register_custom_route');

function expert_review_custom_message_callback() {
  return array('message' => 'Привет от expert-review API!');
}

Теперь по адресу /wp-json/expert-review/v1/message/ можно получить JSON с сообщением.

Регистрация эндпоинта с параметрами

Для передачи параметров используйте аргумент args:

function expert_review_register_param_route() {
  register_rest_route('expert-review/v1', '/square/(?P<number>\d+)', array(
    'methods' => 'GET',
    'callback' => 'expert_review_square_callback',
    'args' => array(
      'number' => array(
        'validate_callback' => 'is_numeric',
      ),
    ),
  ));
}
add_action('rest_api_init', 'expert_review_register_param_route');

function expert_review_square_callback($request) {
  $number = intval($request['number']);
  return array('result' => $number * $number);
}

Это создаст эндпоинт, который возвращает квадрат переданного числа, например: /wp-json/expert-review/v1/square/5.

Аутентификация и безопасность REST API

Для получения или изменения данных, требующих прав, необходимо реализовать аутентификацию. WordPress поддерживает несколько методов: куки с nonce, Basic Auth, OAuth и JWT.

JWT аутентификация: настройка и пример

JWT (JSON Web Tokens) — популярный способ авторизации для REST API. Для его настройки можно использовать плагин JWT Authentication for WP REST API.

После установки и настройки плагина, запрос на авторизацию выглядит так:

POST https://ваш-домен.ru/wp-json/jwt-auth/v1/token
Content-Type: application/json

{
  "username": "ваш_логин",
  "password": "ваш_пароль"
}

В ответ вы получите токен, который нужно передавать в заголовке Authorization для защищенных запросов:

Authorization: Bearer ваш_токен

Пример запроса для создания поста с использованием токена:

POST https://ваш-домен.ru/wp-json/wp/v2/posts
Content-Type: application/json
Authorization: Bearer ваш_токен

{
  "title": "Новый пост через API",
  "content": "Текст поста",
  "status": "publish"
}

Полезные плагины для работы с REST API в WordPress

  • WP REST API Controller — удобный интерфейс для настройки доступа и полей API без кода.
  • Advanced Custom Fields (ACF) to REST API — расширяет стандартные эндпоинты, добавляя пользовательские поля ACF.
  • REST API Toolbox — набор инструментов для управления разрешениями и кэшированием API.

Эти плагины значительно упрощают настройку и управление REST API, особенно если вы не хотите писать много кода.

Советы по отладке и оптимизации REST API

Для отладки используйте такие инструменты, как Postman или curl. Пример запроса через curl:

curl https://ваш-домен.ru/wp-json/wp/v2/posts

Обратите внимание на лимиты per_page, чтобы не перегружать сервер большими ответами.

Для ускорения работы рекомендуется кэшировать результаты запросов, например, используя Transients API или внешние кэш-системы.

Также следите за безопасностью — ограничивайте права доступа и используйте HTTPS.

Как удалить неиспользуемые таксономии в WordPress
23.03.2026
Как создать автоматические резервные копии WordPress с помощью плагинов
01.01.2026
Как создать автоматический генератор отзывов в WordPress
22.12.2025
Как удалить автоматические ревизии в WordPress для оптимизации базы данных
30.01.2026
Как автоматизировать анализ отзывов в WordPress
16.04.2026