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

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

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

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

С помощью REST API можно:

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

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

Аутентификация для работы с REST API WordPress

Для выполнения операций, изменяющих данные (POST, PUT, DELETE), необходима аутентификация. Самый простой способ — использовать базовую аутентификацию с плагином Basic Auth с сайта wpshop.ru.

Установка:

  • Скачайте и установите плагин Basic Auth;
  • Активируйте его;
  • Используйте в HTTP-запросах заголовок Authorization с базовой кодировкой логина и пароля.

Пример заголовка в PHP:

$headers = [
    'Authorization' => 'Basic ' . base64_encode('username:password')
];

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

Пример создания записи через REST API

Допустим, нужно автоматически создать новую запись типа post с заданным заголовком и содержимым. Вот пример на PHP с использованием базовой аутентификации:

function wpfinder_create_post_via_rest() {
    $url = 'https://example.com/wp-json/wp/v2/posts';
    $data = [
        'title' => 'Автоматически созданная запись',
        'content' => 'Содержание записи, созданной через REST API.',
        'status' => 'publish'
    ];

    $args = [
        'headers' => [
            'Authorization' => 'Basic ' . base64_encode('username:password'),
            'Content-Type' => 'application/json',
        ],
        'body' => json_encode($data),
        'method' => 'POST',
    ];

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

    if (is_wp_error($response)) {
        return 'Ошибка: ' . $response->get_error_message();
    }

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

Этот код можно использовать в плагине или в любом PHP-скрипте с доступом к WordPress.

Как обновить запись через REST API

Для обновления записи необходимо отправить PATCH или POST запрос на эндпоинт вида /wp-json/wp/v2/posts/{ID}. Пример кода:

function wpfinder_update_post_via_rest($post_id) {
    $url = 'https://example.com/wp-json/wp/v2/posts/' . $post_id;
    $data = [
        'title' => 'Обновлённый заголовок записи',
        'content' => 'Обновлённое содержание записи.'
    ];

    $args = [
        'headers' => [
            'Authorization' => 'Basic ' . base64_encode('username:password'),
            'Content-Type' => 'application/json',
        ],
        'body' => json_encode($data),
        'method' => 'POST',
    ];

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

    if (is_wp_error($response)) {
        return 'Ошибка: ' . $response->get_error_message();
    }

    return json_decode(wp_remote_retrieve_body($response), true);
}

Обратите внимание, что в REST API WordPress метод PATCH часто заменяется POST с теми же данными.

Удаление записи через REST API

Удаление записи возможно через DELETE-запрос по адресу /wp-json/wp/v2/posts/{ID}. Важно добавить параметр ?force=true, иначе запись будет перемещена в корзину, а не удалена навсегда.

function wpfinder_delete_post_via_rest($post_id) {
    $url = 'https://example.com/wp-json/wp/v2/posts/' . $post_id . '?force=true';

    $args = [
        'headers' => [
            'Authorization' => 'Basic ' . base64_encode('username:password'),
        ],
        'method' => 'DELETE',
    ];

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

    if (is_wp_error($response)) {
        return 'Ошибка: ' . $response->get_error_message();
    }

    return json_decode(wp_remote_retrieve_body($response), true);
}

Автоматизация импорта контента с использованием REST API и плагина WPRemark

Для автоматического импорта и обновления отзывов или комментариев можно использовать плагин WPRemark. Он поддерживает интеграцию через REST API и позволяет настроить автоматический импорт с внешних сайтов или CRM.

Пример настройки: создайте пользовательский скрипт, который получает данные из внешнего источника, формирует JSON и отправляет POST запросы на эндпоинт /wp-json/wp/v2/comments. WPRemark автоматически обработает и выведет отзывы на сайте.

Рекомендации по безопасности при работе с REST API

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

  • Используйте HTTPS для всех запросов;
  • Не передавайте логин и пароль в открытом виде — используйте токены или OAuth;
  • Ограничьте права пользователя, под которым выполняются запросы, строго необходимыми;
  • Проверяйте и фильтруйте входящие данные;
  • Регулярно обновляйте WordPress и плагины.

Выводы и перспективы использования REST API в WordPress

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

Если вы хотите упростить рутинные задачи и сделать управление сайтом более гибким, настоятельно рекомендуем освоить работу с REST API и использовать плагины, такие как WPRemark или Basic Auth для удобства аутентификации.

Как удалить неиспользуемые таблицы базы данных в WordPress безопасно и быстро
02.03.2026
Как удалить редиректы в WordPress и избежать петель перенаправлений
22.04.2026
Как сделать автоматический редирект по ролям пользователей в WordPress
02.01.2026
Как удалить или отключить плагины WordPress без доступа к админ панели
06.12.2025
Оптимизация кэширования в WordPress: практические методы и примеры
12.11.2025