WordPress REST API — мощный инструмент, который позволяет создавать, читать, обновлять и удалять данные через HTTP-запросы. Это открывает широкие возможности для автоматизации рутинных задач, интеграции с внешними сервисами и разработки собственных плагинов или приложений. В этой статье мы подробно рассмотрим, как эффективно использовать REST API WordPress для автоматизации, приведем примеры кода и расскажем про полезные плагины.
Что такое REST API в WordPress и зачем он нужен
REST API — это интерфейс, предоставляющий доступ к данным WordPress через HTTP-запросы в формате JSON. Он позволяет взаимодействовать с сайтом программно, без необходимости заходить в админ-панель.
С помощью REST API можно:
- автоматически публиковать или обновлять записи и страницы;
- управлять пользователями, комментариями, медиафайлами;
- интегрировать сайт с внешними системами (CRM, маркетинговыми платформами);
- создавать кастомные приложения и мобильные клиенты;
- автоматизировать бэкапы, синхронизацию данных и другие процессы.
REST API — это стандартная часть WordPress начиная с версии 4.7, его можно расширять с помощью собственных эндпоинтов.
Как настроить и использовать REST API WordPress
По умолчанию REST API включен и доступен по URL вида https://ваш-сайт.com/wp-json/wp/v2/. Например, чтобы получить список последних записей, сделайте GET-запрос к /wp-json/wp/v2/posts.
Для выполнения запросов с возможностью изменять данные (POST, PUT, DELETE) необходима авторизация. Обычно используется метод OAuth или cookie-авторизация для запросов из браузера.
Пример простого GET-запроса на PHP
$response = wp_remote_get('https://ваш-сайт.com/wp-json/wp/v2/posts');
if (is_wp_error($response)) {
return;
}
$posts = json_decode(wp_remote_retrieve_body($response));
foreach ($posts as $post) {
echo $post->title->rendered . "\n";
}Этот код получает последние записи и выводит их заголовки.
Пример создания записи через REST API с авторизацией
Для создания записи с помощью REST API нужно отправить POST-запрос с заголовком авторизации и телом запроса в JSON.
function wpbook_create_post_via_rest_api($title, $content) {
$url = 'https://ваш-сайт.com/wp-json/wp/v2/posts';
$args = [
'headers' => [
'Authorization' => 'Bearer ВАШ_ТОКЕН',
'Content-Type' => 'application/json',
],
'body' => json_encode([
'title' => $title,
'content' => $content,
'status' => 'publish'
]),
'method' => 'POST'
];
$response = wp_remote_request($url, $args);
if (is_wp_error($response)) {
return false;
}
return json_decode(wp_remote_retrieve_body($response));
}Замените ВАШ_ТОКЕН на действительный токен авторизации. Этот пример демонстрирует создание записи программно.
Расширение REST API: создание собственных эндпоинтов
Иногда стандартных возможностей REST API недостаточно, и нужно добавить кастомные маршруты. Это делается с помощью функции register_rest_route.
Например, добавим эндпоинт, который возвращает количество опубликованных записей:
add_action('rest_api_init', function () {
register_rest_route('wpbook/v1', '/post-count', [
'methods' => 'GET',
'callback' => 'wpbook_get_post_count'
]);
});
function wpbook_get_post_count() {
$count = wp_count_posts()->publish;
return ['published_posts' => $count];
}Теперь GET-запрос /wp-json/wpbook/v1/post-count вернет JSON с числом опубликованных записей.
Плагины для работы с REST API и автоматизации на WordPress
Для упрощения работы с REST API и автоматизации можно использовать готовые плагины:
- Clearfy — оптимизация и защита REST API, настройка доступа и ограничение нежелательных запросов.
- Expert Review — интеграция отзывов с автоматическим обновлением через REST API.
- WPGPT — генерация контента и автоматизация с помощью ИИ с вызовами через REST API.
Использование этих плагинов поможет ускорить разработку и расширить функциональность вашего сайта.
Практические советы по безопасности REST API
REST API открывает доступ к данным сайта, поэтому важно правильно настраивать права доступа и авторизацию. Вот несколько рекомендаций:
- Ограничьте доступ к критичным эндпоинтам только авторизованным пользователям.
- Используйте проверенные методы авторизации — OAuth, JWT или cookie.
- Регулярно обновляйте WordPress и плагины для защиты от уязвимостей.
- Скрывайте или отключайте ненужные эндпоинты с помощью плагинов типа Clearfy.
Это поможет избежать нежелательных атак и утечек данных.
Автоматизация задач с REST API: примеры из практики
REST API отлично подходит для автоматизации рутинных процессов. Рассмотрим несколько сценариев:
Автоматический импорт контента из внешних источников
С помощью REST API можно настроить скрипты, которые периодически получают данные из внешних API и создают или обновляют записи на сайте.
Например, для новостного сайта — импорт новостей с партнерских ресурсов, для магазина — обновление товаров и цен.
Управление пользователями и регистрация через внешние сервисы
Автоматическая регистрация и управление профилями пользователей через REST API позволяет интегрировать WordPress с CRM или ERP системами.
Синхронизация комментариев и отзывов
Можно автоматически выгружать комментарии в аналитические сервисы или импортировать отзывы из соцсетей для публикации на сайте.
Выводы и рекомендации
REST API WordPress — универсальный инструмент для разработчиков и администраторов, желающих автоматизировать процессы и интегрировать сайт с внешними системами. Важно грамотно настроить авторизацию и безопасность, использовать стандартные возможности и создавать собственные эндпоинты под задачи проекта.
Для быстрого старта рекомендуем изучить официальный гайд по REST API на developer.wordpress.org и попробовать плагины из экосистемы WPSHOP.