Автоматизация удалённого изменения постов в WordPress через REST API

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

Что такое REST API в WordPress и зачем нужна автоматизация изменения постов

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

  • Обновлять контент массово по расписанию или событию;
  • Интегрироваться с внешними CRM, ERP и другими сервисами;
  • Создавать кастомные панели управления для редакторов;
  • Снижать рутинные задачи и ошибки при ручном редактировании.

Однако для безопасности важно правильно настроить аутентификацию и права доступа.

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

Самый простой способ — использовать базовую аутентификацию с логином и паролем, но она не подходит для продакшна из-за уязвимости. Рекомендуется применять OAuth 2.0, JWT (JSON Web Token) или использовать cookie аутентификацию при работе внутри WordPress.

Для примера рассмотрим JWT — популярный метод, который требует установки плагина JWT Authentication for WP REST API.

После установки и настройки плагина необходимо получить токен, отправив POST-запрос:

POST /wp-json/jwt-auth/v1/token
{
  "username": "your_username",
  "password": "your_password"
}

В ответе придёт токен, который будет использоваться в заголовке Authorization для последующих запросов.

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

Для изменения поста используется метод POST или PUT на эндпоинт /wp-json/wp/v2/posts/{id}. В заголовках нужно указать токен:

PUT /wp-json/wp/v2/posts/123
Authorization: Bearer your_jwt_token
Content-Type: application/json

{
  "title": "Новое название поста",
  "content": "Обновлённый контент поста",
  "status": "publish"
}

Где 123 — ID поста. Этот запрос изменит заголовок, контент и статус публикации.

Практический пример: функция wpbloger_update_post_via_api

Создадим PHP-функцию, которая отправляет запрос на обновление поста через REST API, используя cURL:

function wpbloger_update_post_via_api($post_id, $data, $token) {
    $url = get_site_url() . "/wp-json/wp/v2/posts/" . intval($post_id);
    
    $args = [
        'http' => [
            'method'  => 'PUT',
            'header'  => "Content-Type: application/json\r\nAuthorization: Bearer " . $token . "\r\n",
            'content' => json_encode($data),
            'timeout' => 15
        ]
    ];
    $context  = stream_context_create($args);
    $result = file_get_contents($url, false, $context);
    if ($result === FALSE) {
        return new WP_Error('api_error', 'Не удалось обновить пост');
    }
    return json_decode($result, true);
}

Использование:

$token = 'ваш_jwt_токен';
$post_id = 123;
$data = [
  'title' => 'Обновлённый заголовок',
  'content' => 'Новый контент поста',
  'status' => 'publish'
];
$response = wpbloger_update_post_via_api($post_id, $data, $token);
if (is_wp_error($response)) {
  echo 'Ошибка: ' . $response->get_error_message();
} else {
  echo 'Пост успешно обновлён';
}

Автоматизация с использованием WP-Cron и REST API

Можно настроить периодические задачи через WP-Cron, которые будут обновлять посты автоматически, например, для актуализации информации или синхронизации с внешними источниками.

Пример добавления задачи в планировщик:

if (!wp_next_scheduled('wpbloger_update_posts_event')) {
    wp_schedule_event(time(), 'hourly', 'wpbloger_update_posts_event');
}

add_action('wpbloger_update_posts_event', 'wpbloger_handle_update_posts');

function wpbloger_handle_update_posts() {
    $token = 'ваш_jwt_токен';
    $post_id = 123;
    $data = [
        'content' => 'Автоматически обновлённый контент через WP-Cron'
    ];
    wpbloger_update_post_via_api($post_id, $data, $token);
}

Такой подход позволяет регулярно обновлять контент без участия администратора.

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

  • JWT Authentication for WP REST API — добавляет поддержку JWT токенов;
  • Clearfy Pro — оптимизация и безопасность REST API;
  • WPRemark — для расширенного управления комментариями через API.

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

Автоматизация изменения постов через REST API — мощный инструмент для повышения эффективности работы с сайтом. Правильная настройка аутентификации, чёткое понимание структуры запросов и использование WP-Cron позволяют создавать гибкие и безопасные решения для обновления контента. Используйте готовые плагины для упрощения задач и не забывайте контролировать права доступа для безопасности вашего сайта.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как автоматизировать удалённое изменение постов в WordPress через REST API
31.01.2026
Как изменить имя автора в WordPress без плагинов: подробное руководство
05.03.2026
Как удалить виджеты из WordPress, чтобы не потерять данные
22.12.2025
Автоматическое удаление старого контента в WordPress: практическое руководство
31.03.2026
Как удалить или изменить метаданные медиафайлов в WordPress без плагинов
05.02.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше