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

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

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

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

Основные преимущества использования REST API для автоматизации:

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

Чтобы использовать REST API, достаточно отправлять HTTP-запросы с нужными параметрами и получать результат в формате JSON.

Как получить и отправить данные через REST API WordPress

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

Для получения списка постов можно сделать GET-запрос по адресу:

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

Этот запрос вернёт массив последних опубликованных постов в формате JSON.

Отправка POST-запроса для создания нового поста

Для создания записи нужен POST-запрос с авторизацией. Пример на PHP с использованием библиотеки cURL:

$url = 'https://ваш-сайт.ru/wp-json/wp/v2/posts';
$token = 'ВАШ_ТОКЕН_АВТОРИЗАЦИИ';
$data = [
    'title' => 'Автоматически созданный пост',
    'status' => 'publish',
    'content' => 'Содержание поста, созданного через REST API',
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer ' . $token
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

В этом примере $token — это JWT-токен или OAuth-токен, который нужно получить заранее для авторизации.

Автоматизация через плагины и кастомные решения

Использование плагина WP REST API Controller

Плагин WP REST API Controller позволяет удобно управлять доступом к REST API, настраивать какие типы записей и поля будут доступны для чтения и записи. Это идеально для безопасности и тонкой настройки автоматизации.

Плагин поможет быстро закрыть доступ к чувствительным данным, а также включить или отключить нужные эндпоинты без программирования.

Создание собственного REST API endpoint для автоматизации задач

Если встроенных эндпоинтов недостаточно, можно создать свои. Пример функции для регистрации кастомного endpoint, который возвращает количество опубликованных постов:

function wp5ru_register_custom_endpoint() {
    register_rest_route('wp5ru/v1', '/posts_count', [
        'methods' => 'GET',
        'callback' => 'wp5ru_get_posts_count',
        'permission_callback' => function () {
            return current_user_can('edit_posts');
        },
    ]);
}
add_action('rest_api_init', 'wp5ru_register_custom_endpoint');

function wp5ru_get_posts_count() {
    $count = wp_count_posts('post')->publish;
    return ['count' => $count];
}

После добавления этого кода в functions.php или свой плагин, можно получить количество опубликованных постов по адресу:

https://ваш-сайт.ru/wp-json/wp5ru/v1/posts_count

Это упрощает создание автоматизированных отчётов или интеграций.

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

1. Автоматический импорт постов из внешних источников

Можно написать скрипт, который будет периодически получать данные с внешнего API, и создавать или обновлять посты на сайте WordPress через REST API. Это актуально для новостных сайтов, каталогов и блогов с большим объёмом контента.

Для этого удобно настроить WP Cron задачу, которая будет запускать PHP-скрипт с запросами.

2. Массовое обновление метаданных постов

Если необходимо обновить метаполя или таксономии у большого количества записей, REST API позволяет сделать это без загрузки админки. Например, скрипт перебирает посты и отправляет PATCH-запросы с новыми данными.

3. Управление пользователями и ролями

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

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

При автоматизации важно соблюдать меры безопасности:

  • Используйте авторизацию — JWT или OAuth, чтобы ограничить доступ к важным эндпоинтам;
  • Ограничивайте права доступа через permission_callback при регистрации кастомных маршрутов;
  • Проверяйте и фильтруйте входящие данные, чтобы избежать SQL-инъекций и XSS;
  • Мониторьте логи запросов для обнаружения подозрительной активности.

Плагины, такие как Clearfy Pro, помогают дополнительно обезопасить REST API и отключить ненужные эндпоинты.

Заключение

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

Воспользуйтесь примерами из статьи и начните создавать свои автоматизированные решения уже сегодня.

Как автоматизировать создание и удаление категорий в WordPress программно
11.03.2026
WooCommerce: как добавить кастомные поля в форму оформления заказа
12.05.2026
Автоматическое изменение цены товара в WooCommerce при выборе разных атрибутов
20.05.2026
Как автоматизировать обработку форм в WordPress с примерами кода
08.04.2026
Как установить ограничения на регистрацию в WordPress: проверка email и капча
27.03.2026