Как использовать REST API в WordPress для автоматизации задач

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

Что такое REST API в WordPress и почему его стоит использовать

REST API (Representational State Transfer Application Programming Interface) — это стандарт взаимодействия с веб-сервисами через HTTP. В WordPress он позволяет получать, создавать, обновлять и удалять данные сайта в формате JSON. Это значит, что вы можете управлять контентом сайта вне админки, используя запросы с любого языка программирования.

API встроен в WordPress начиная с версии 4.7 и доступен «из коробки». Он покрывает все основные типы данных: посты, страницы, категории, пользователи, комментарии и многое другое. Также есть возможность расширять API, создавать свои собственные эндпоинты.

Использование REST API особенно полезно, если нужно:

  • Создавать автоматические публикации из внешних источников.
  • Интегрировать WordPress с CRM, ERP и другими системами.
  • Разрабатывать мобильные приложения на базе данных сайта.
  • Автоматизировать массовые операции с контентом.

Основные методы и примеры запросов к REST API WordPress

REST API работает через стандартные HTTP методы:

  • GET — получить данные.
  • POST — создать новый объект.
  • PUT или PATCH — обновить существующий объект.
  • DELETE — удалить объект.

Базовый URL API выглядит так:

https://example.com/wp-json/wp/v2/

Например, чтобы получить список последних 5 постов, отправьте GET-запрос на:

https://example.com/wp-json/wp/v2/posts?per_page=5

Ответ будет в JSON с информацией о постах. Чтобы создать новый пост, нужен аутентифицированный запрос POST с телом вида:

{
  "title": "Заголовок нового поста",
  "content": "Содержимое поста",
  "status": "publish"
}
<

Для аутентификации обычно используют OAuth, JWT или cookie авторизацию, если запросы идут с фронтенда.

Как расширить REST API: создание собственного эндпоинта

Иногда нужно добавить в API свои данные или действия. Для этого в WordPress есть функция register_rest_route. Ниже пример, который добавляет эндпоинт /wpfix/v1/hello, возвращающий приветствие.

add_action('rest_api_init', 'wpfix_register_custom_routes');
function wpfix_register_custom_routes() {
    register_rest_route('wpfix/v1', '/hello', array(
        'methods' => 'GET',
        'callback' => 'wpfix_hello_callback',
    ));
}

function wpfix_hello_callback() {
    return array('message' => 'Привет от WPFix REST API!');
}

После добавления этого кода в файл плагина или functions.php, вы сможете получить ответ по адресу https://example.com/wp-json/wpfix/v1/hello.

Пример автоматизации: создание постов из внешнего источника

Представим, что вам нужно автоматически создавать посты на сайте из данных, получаемых с другого сервера. Для этого можно написать PHP-скрипт, который отправляет POST-запрос к REST API WordPress с нужными параметрами.

function wpfix_create_post_via_api($title, $content) {
    $url = 'https://example.com/wp-json/wp/v2/posts';
    $data = array(
        'title' => $title,
        'content' => $content,
        'status' => 'publish'
    );

    $args = array(
        'headers' => array(
            'Authorization' => 'Bearer ' . 'ВАШ_JWT_ТОКЕН',
            'Content-Type'  => 'application/json',
        ),
        'body' => json_encode($data),
        'method' => 'POST',
        'data_format' => 'body'
    );

    $response = wp_remote_post($url, $args);

    if (is_wp_error($response)) {
        return false;
    }

    $body = wp_remote_retrieve_body($response);
    return json_decode($body);
}

В этом примере мы используем функцию wp_remote_post для отправки запроса. Не забудьте настроить аутентификацию (JWT или OAuth), чтобы сервер разрешил создание постов.

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

Для упрощения работы и расширения возможностей REST API можно использовать готовые плагины:

  • JWT Authentication for WP REST API — добавляет поддержку JWT-токенов для безопасной аутентификации.
  • WP REST API Controller — позволяет управлять доступом к стандартным эндпоинтам, отключать ненужные маршруты.
  • Advanced Custom Fields to REST API — расширяет API, добавляя данные полей ACF в ответы.
  • WP REST Cache — кэширует ответы API для повышения производительности.

Использование этих плагинов позволит гибко настраивать и защищать ваши API-запросы.

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

REST API открывает удалённый доступ к данным сайта, поэтому безопасность должна быть на первом месте. Вот основные рекомендации:

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

Также можно добавить проверку nonce или других токенов для дополнительной защиты.

Заключение: REST API как инструмент автоматизации на wpfix.ru

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

Как использовать хуки WordPress для отложенного выполнения кода
16.01.2026
Автоматическая оптимизация изображений в WordPress при загрузке
03.01.2026
Как использовать хуки в WordPress для автоматизации задач
07.11.2025
Автоматическое удаление старых ревизий записей в WordPress через cron
07.12.2025
Как создать собственный плагин WordPress с названием WPFix: пошаговое руководство
26.11.2025