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

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

Что такое REST API в WordPress и как он работает

REST API (Representational State Transfer Application Programming Interface) — это архитектурный стиль, который позволяет обращаться к данным сайта через URL-адреса и стандартные методы HTTP: GET, POST, PUT, DELETE.

В WordPress REST API встроен из коробки, начиная с версии 4.7. Он предоставляет доступ к постам, страницам, пользователям, комментариям и даже позволяет создавать собственные REST эндпоинты.

Для примера, получить список последних постов можно с помощью запроса:

GET https://ваш-сайт.ru/wp-json/wp/v2/posts

Ответ приходит в формате JSON, что удобно для обработки в любых приложениях.

Практическое применение REST API для автоматизации задач

Автоматическое создание постов из внешних источников

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

function wpmax_create_post_via_rest($title, $content, $token) {
    $url = 'https://ваш-сайт.ru/wp-json/wp/v2/posts';
    $data = [
        'title' => $title,
        'content' => $content,
        'status' => 'publish'
    ];

    $args = [
        'headers' => [
            'Authorization' => 'Bearer ' . $token,
            'Content-Type' => 'application/json'
        ],
        'body' => json_encode($data),
        'method' => 'POST'
    ];

    $response = wp_remote_request($url, $args);
    return json_decode(wp_remote_retrieve_body($response), true);
}

Здесь $token — это JWT-токен для аутентификации, который можно получить через плагин JWT Authentication for WP REST API.

Обновление контента и метаданных

REST API также позволяет обновлять существующие записи. Например, для изменения заголовка и добавления мета-поля:

function wpmax_update_post_meta($post_id, $new_title, $meta_key, $meta_value, $token) {
    $url = 'https://ваш-сайт.ru/wp-json/wp/v2/posts/' . $post_id;
    $data = [
        'title' => $new_title,
        'meta' => [
            $meta_key => $meta_value
        ]
    ];

    $args = [
        'headers' => [
            'Authorization' => 'Bearer ' . $token,
            'Content-Type' => 'application/json'
        ],
        'body' => json_encode($data),
        'method' => 'POST'
    ];

    $response = wp_remote_request($url, $args);
    return json_decode(wp_remote_retrieve_body($response), true);
}

Важно, чтобы мета-поля были зарегистрированы через функцию register_meta с параметром show_in_rest => true, чтобы они стали доступны в REST API.

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

Если стандартных эндпоинтов недостаточно, можно добавить свои. Это полезно для реализации бизнес-логики или работы с нестандартными данными.

Пример создания кастомного эндпоинта, который возвращает список последних 5 пользователей с определенной ролью:

add_action('rest_api_init', function () {
    register_rest_route('wpmax/v1', '/users/', [
        'methods' => 'GET',
        'callback' => 'wpmax_get_users',
        'permission_callback' => function () {
            return current_user_can('list_users');
        }
    ]);
});

function wpmax_get_users(WP_REST_Request $request) {
    $args = [
        'role' => 'subscriber',
        'number' => 5
    ];
    $users = get_users($args);
    $data = [];
    foreach ($users as $user) {
        $data[] = [
            'ID' => $user->ID,
            'login' => $user->user_login,
            'email' => $user->user_email
        ];
    }
    return rest_ensure_response($data);
}

После добавления этого кода запрос GET https://ваш-сайт.ru/wp-json/wpmax/v1/users/ вернет JSON с информацией о пользователях.

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

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

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

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

REST API открывает сайт для внешних запросов, поэтому важно правильно настроить права доступа:

  • Используйте аутентификацию (например, с помощью JWT или OAuth);
  • Ограничивайте доступ к чувствительным эндпоинтам через permission_callback;
  • Проверяйте и валидируйте входящие данные на стороне сервера;
  • Не раскрывайте лишнюю информацию в ответах API.

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

Как изменить функции WooCommerce без изменения основных файлов WordPress
18.11.2025
Как создать автоматический импорт пользовательских регистраций в WordPress
16.04.2026
Обновление плагинов WordPress без потери настроек и конфликтов
05.12.2025
Как создать автоматические уведомления о обновлениях плагинов WordPress
05.02.2026
WooCommerce: как создать кастомный экспорт товаров в CSV без плагинов
15.05.2026