Автоматический генератор текстов для блоков Gutenberg с использованием AI в WordPress

В современных проектах на WordPress часто возникает задача ускорить создание контента для редактора Gutenberg. Особенно актуально это для сайтов, которые используют большое количество повторяющихся блоков с текстом, например, описания товаров, обзоры, новости и т.п. В этой статье подробно рассмотрим, как создать автоматический генератор текстов для блоков Gutenberg с помощью AI, используя возможности WordPress и популярные AI-интеграции.

Почему автоматический генератор текстов для Gutenberg востребован

Редактор Gutenberg построен на блоках, и для наполнения сайта контентом зачастую требуется много времени. Автоматизация процесса генерации текста поможет:

  • Сократить время на создание контента;
  • Обеспечить единообразие и качество текстов;
  • Интегрировать AI-поддержку непосредственно в редактор;
  • Облегчить работу редакторов и контент-менеджеров.

Реализация такого функционала может базироваться на API современных AI-сервисов, например, OpenAI, или использовать готовые плагины с AI-моделями.

Обзор плагинов для AI-генерации текста в WordPress

Для расширения редактора Gutenberg можно использовать плагины, которые интегрируют AI прямо в панель администратора:

  • WPGPT — плагин для генерации текстов с помощью GPT-моделей. Позволяет быстро создать тексты на основе заданных тем и подсказок.
  • Clearfy Pro — содержит оптимизации и инструменты для улучшения работы AI и генерации контента.
  • Expert Review — помогает анализировать и улучшать текст, сгенерированный AI, прямо в админке.

Для автоматического наполнения блоков Gutenberg можно написать собственное расширение с использованием API WPGPT или OpenAI.

Создаем свой генератор текста для блоков Gutenberg с AI

Регистрация кастомного блока Gutenberg

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

function wpai_register_block() {
    wp_register_script('wpai-block-script', plugins_url('block.js', __FILE__), array('wp-blocks','wp-element','wp-editor','wp-components'));
    register_block_type('wpai/ai-text-generator', array(
        'editor_script' => 'wpai-block-script',
    ));
}
add_action('init', 'wpai_register_block');

В файле block.js опишем интерфейс блока с кнопкой и областью вывода текста.

Интеграция с AI через AJAX

Для генерации текста используем AJAX-запрос с передачей темы и получением результата от AI-сервиса. Пример серверного обработчика:

function wpai_generate_text_callback() {
    $prompt = sanitize_text_field($_POST['prompt']);
    if (empty($prompt)) {
        wp_send_json_error('Пустой запрос');
    }
    // Пример обращения к OpenAI API
    $api_key = 'ВАШ_API_КЛЮЧ';
    $data = array(
        'model' => 'gpt-4',
        'messages' => array(
            array('role' => 'user', 'content' => $prompt),
        ),
        'max_tokens' => 500,
    );
    $response = wp_remote_post('https://api.openai.com/v1/chat/completions', array(
        'headers' => array(
            'Content-Type' => 'application/json',
            'Authorization' => 'Bearer ' . $api_key,
        ),
        'body' => json_encode($data),
    ));
    if (is_wp_error($response)) {
        wp_send_json_error('Ошибка запроса к AI');
    }
    $body = json_decode(wp_remote_retrieve_body($response), true);
    if (!empty($body['choices'][0]['message']['content'])) {
        wp_send_json_success($body['choices'][0]['message']['content']);
    } else {
        wp_send_json_error('Нет ответа от AI');
    }
}
add_action('wp_ajax_wpai_generate_text', 'wpai_generate_text_callback');

В JavaScript вызов AJAX и обновление блока:

const { registerBlockType } = wp.blocks;
const { Button, TextareaControl } = wp.components;
const { useState } = wp.element;

registerBlockType('wpai/ai-text-generator', {
    title: 'AI Генератор текста',
    icon: 'edit',
    category: 'widgets',
    edit: (props) => {
        const [prompt, setPrompt] = useState('');
        const [generatedText, setGeneratedText] = useState('');
        const generateText = () => {
            wp.apiFetch({
                path: '/wp-admin/admin-ajax.php?action=wpai_generate_text',
                method: 'POST',
                data: { prompt: prompt },
            }).then((response) => {
                if (response.success) {
                    setGeneratedText(response.data);
                    props.setAttributes({ content: response.data });
                } else {
                    alert('Ошибка генерации: ' + response.data);
                }
            });
        };
        return (
            <div>
                <TextareaControl
                    label="Тема для генерации"
                    value={prompt}
                    onChange={(value) => setPrompt(value)}
                />
                <Button isPrimary onClick={generateText}>Сгенерировать текст</Button>
                <div style={{ marginTop: '10px', whiteSpace: 'pre-wrap' }}>{generatedText}</div>
            </div>
        );
    },
    save: (props) => {
        return <p>{props.attributes.content}</p>;
    },
});

Практические советы по улучшению генератора

Оптимизация запросов к AI

Для снижения нагрузки стоит кэшировать ответы и ограничивать длину запросов. Это позволит не перегружать API и ускорит работу генератора.

Можно использовать transient-хранение WordPress:

function wpai_get_cached_or_generate($prompt) {
    $cache_key = 'wpai_cache_' . md5($prompt);
    $cached = get_transient($cache_key);
    if ($cached !== false) {
        return $cached;
    }
    $generated = wpai_call_openai_api($prompt); // Ваша функция запроса
    if ($generated) {
        set_transient($cache_key, $generated, 12 * HOUR_IN_SECONDS);
    }
    return $generated;
}

Добавление параметров генерации

Добавляйте в блок дополнительные настройки, например, стиль текста, тональность, длину. Это можно реализовать через дополнительные поля в редакторе с передачей в prompt AI.

Интеграция с плагином WPGPT

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

Примеры использования и сценарии

Такой генератор подходит для:

  • Автоматического создания описаний товаров в WooCommerce;
  • Генерации текстов для новостных блоков и анонсов;
  • Помощи редакторам при создании уникального контента;
  • Наполнения лендингов и промо-блоков быстро и эффективно.

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

Автоматическое создание счетов-фактур в WooCommerce: практическое руководство
18.04.2026
WooCommerce: автоматическое добавление метаданных к товарам через код
20.06.2026
Как автоматизировать оценку качества контента в WordPress с помощью AI
19.01.2026
Автоматический анализ логов в WordPress: практические примеры и решения
04.01.2026
Создание своего шорткода в WordPress: практическое руководство
14.11.2025