Как автоматизировать удалённую публикацию в WordPress с помощью WPGPT

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

Что такое удалённая публикация в WordPress и зачем она нужна

Удалённая публикация — это процесс создания и размещения записей на другом сайте WordPress через программный интерфейс без прямого входа в админку. Такой подход позволяет:

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

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

Обзор плагина WPGPT для интеграции с REST API WordPress

Плагин WPGPT изначально создан для интеграции WordPress с GPT-моделями, но его архитектура отлично подходит для расширения функционала публикации, включая автоматическую генерацию и отправку контента на удалённые сайты через REST API.

Преимущества использования WPGPT:

  • Удобная настройка API-запросов.
  • Гибкая фильтрация и подготовка контента перед отправкой.
  • Возможность расширения функционала с помощью хуков и фильтров.

Как настроить удалённую публикацию через REST API WordPress

Шаг 1. Получение доступа к REST API удалённого сайта

Для работы с REST API необходимо авторизоваться. Рекомендуется использовать JWT-аутентификацию или Application Passwords, встроенные в WordPress 5.6+.

Пример настройки Application Password:

  • В админке удалённого сайта перейдите в профиль пользователя.
  • Найдите раздел «Пароли приложений» и создайте новый пароль.
  • Сохраните сгенерированный пароль — он понадобится для запросов.

Шаг 2. Пример отправки POST-запроса для создания записи

Для отправки данных используем PHP с cURL или библиотеку Guzzle. Ниже пример функции wpbloger_send_post_to_remote для отправки статьи:

function wpbloger_send_post_to_remote($title, $content, $remote_url, $username, $app_password) {
    $url = rtrim($remote_url, '/') . '/wp-json/wp/v2/posts';
    $data = [
        'title' => $title,
        'content' => $content,
        'status' => 'publish'
    ];
    $args = [
        'body' => json_encode($data),
        'headers' => [
            'Authorization' => 'Basic ' . base64_encode($username . ':' . $app_password),
            'Content-Type' => 'application/json'
        ],
        'method' => 'POST',
        'data_format' => 'body',
    ];
    $response = wp_remote_post($url, $args);
    if (is_wp_error($response)) {
        return $response->get_error_message();
    }
    return json_decode(wp_remote_retrieve_body($response), true);
}

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

Шаг 3. Интеграция с WPGPT для автоматической генерации и отправки постов

С помощью WPGPT можно автоматически генерировать контент и сразу отправлять его на нужный сайт.

Пример использования хука WPGPT для публикации после генерации:

add_action('wpgpt_after_generate_content', function($title, $content) {
    $remote_url = 'https://remote-site.ru';
    $username = 'remoteuser';
    $app_password = 'app_password_here';
    $result = wpbloger_send_post_to_remote($title, $content, $remote_url, $username, $app_password);
    if (is_array($result) && isset($result['id'])) {
        error_log('Пост успешно опубликован на удалённом сайте: ID ' . $result['id']);
    } else {
        error_log('Ошибка публикации: ' . print_r($result, true));
    }
}, 10, 2);

Обработка ошибок и безопасность при удалённой публикации

Важно грамотно обрабатывать ошибки сети и API:

  • Проверяйте ответы сервера на успешное создание записи.
  • Логируйте ошибки для последующего анализа.
  • Используйте защищённые каналы (HTTPS) и безопасные методы аутентификации.

Также не стоит передавать чувствительные данные напрямую в коде — используйте константы или настройки в админке.

Дополнительные советы по расширению функционала

Автоматическая загрузка изображений в удалённый сайт

Для публикации статей с медиафайлами нужно отдельно отправлять изображения через REST API медиа:

function wpbloger_upload_media_to_remote($file_path, $remote_url, $username, $app_password) {
    $url = rtrim($remote_url, '/') . '/wp-json/wp/v2/media';
    $file_name = basename($file_path);
    $file_data = file_get_contents($file_path);
    $args = [
        'headers' => [
            'Authorization' => 'Basic ' . base64_encode($username . ':' . $app_password),
            'Content-Disposition' => 'attachment; filename="' . $file_name . '"',
            'Content-Type' => mime_content_type($file_path),
        ],
        'body' => $file_data,
        'method' => 'POST',
        'data_format' => 'body',
    ];
    $response = wp_remote_post($url, $args);
    if (is_wp_error($response)) {
        return $response->get_error_message();
    }
    return json_decode(wp_remote_retrieve_body($response), true);
}

Синхронизация изменений и удаление записей

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

Плагин WPGPT позволяет расширять логику автоматизации и подстраивать её под ваши бизнес-задачи.

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

⭐⭐⭐⭐⭐
Как избежать проблем с разрешениями при загрузке медиафайлов в WordPress
18.05.2026
Как удалить или изменить метаданные медиафайлов в WordPress без плагинов
28.02.2026
Как использовать хук pre_get_posts для оптимизации SQL-запросов в WordPress
06.05.2026
Как сделать автоматический импорт постов из JSON в WordPress
01.01.2026
Как автоматически удалять старые медиафайлы в WordPress: практическое руководство
11.04.2026
×

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

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

пишет статьи

готовит SEO

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

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