Интеграции

Интеграция AI в WordPress через AI Gateway: сниппет на PHP

Как подключить AI к WordPress без сторонних плагинов: сниппет на PHP с wp_remote_post к API AI Gateway, автогенерация описаний товаров и записей, ключ в wp-config или окружении.

2 минуты чтения

Добавить AI в WordPress можно без тяжёлых плагинов — коротким сниппетом на PHP. Встроенная функция wp_remote_post отправляет запрос к OpenAI-совместимому API AI Gateway, а ответ используется для генерации описаний товаров, аннотаций записей или ответов на комментарии. Модели берём из каталога.

Подготовка

Нужен ключ AI Gateway sk-aigate-… и базовый URL https://ai-gatewey.ru/v1. Ключ задайте константой в wp-config.php или через переменную окружения сервера — не в теле темы или плагина. Код кладите в mu-plugins или отдельный плагин, а не в functions.php темы (переживёт смену темы).

Реализация

  1. Функция обращения к модели

    Обёртка над wp_remote_post: шлёт промпт на AI Gateway и возвращает текст ответа. Ключ читается из константы:

    <?php
    // wp-content/mu-plugins/aigate.php
    function aigate_generate($prompt, $model = 'deepseek/deepseek-chat') {
        $res = wp_remote_post('https://ai-gatewey.ru/v1/chat/completions', [
            'timeout' => 60,
            'headers' => [
                'Authorization' => 'Bearer ' . AIGATE_API_KEY,
                'Content-Type'  => 'application/json',
            ],
            'body' => wp_json_encode([
                'model'    => $model,
                'messages' => [
                    ['role' => 'user', 'content' => $prompt],
                ],
            ]),
        ]);
    
        if (is_wp_error($res)) {
            return '';
        }
        $data = json_decode(wp_remote_retrieve_body($res), true);
        return $data['choices'][0]['message']['content'] ?? '';
    }
  2. Ключ в wp-config.php

    Секрет держим отдельно от кода плагина — константой в конфиге (выше строки «That's all, stop editing»):

    define('AIGATE_API_KEY', 'sk-aigate-ваш_ключ');
  3. Автогенерация описания товара

    На сохранение товара WooCommerce формируем краткое описание, если его ещё нет. Флаг в мете не даёт запускать генерацию повторно:

    add_action('save_post_product', function ($post_id) {
        if (get_post_meta($post_id, '_aigate_done', true)) {
            return;
        }
        $title = get_the_title($post_id);
        $text  = aigate_generate("Напиши короткое продающее описание товара: {$title}");
    
        if ($text) {
            wp_update_post(['ID' => $post_id, 'post_excerpt' => $text]);
            update_post_meta($post_id, '_aigate_done', 1);
        }
    }, 20);
Ключ AI Gateway храните константой в wp-config.php или в переменной окружения — не в коде темы и не в полях админки, доступных из браузера. Запрос к модели небыстрый: в хуках сохранения ставьте разумный timeout и по возможности выносите генерацию в WP-Cron или фоновую задачу.

Какие модели подойдут

Для массовой генерации описаний и аннотаций берут быструю недорогую модель; для важных текстов можно точечно подключить флагман:

МодельВвод, ₽/1МВывод, ₽/1МКонтекст
DeepSeek: DeepSeek V331125128K
OpenAI: GPT-5.4 Mini118705400K
Anthropic Claude Haiku Latest157784200K
Актуальные цены каталога AI Gateway за 1 млн токенов. Все модели →

Частые вопросы

Нужен ли сторонний AI-плагин?

Нет. Встроенной wp_remote_post достаточно, чтобы обратиться к любому OpenAI-совместимому API. Свой сниппет прозрачнее и не тянет лишних зависимостей, а ключ остаётся под вашим контролем.

Куда положить код — в functions.php?

Лучше в отдельный плагин или каталог mu-plugins: тогда логика переживёт смену темы и обновления. functions.php темы подходит только для быстрой пробы.

Как не сгенерировать описание дважды?

Ставьте флаг в мете поста (update_post_meta) после успешной генерации и проверяйте его в начале хука. Так повторное сохранение записи не приведёт к лишним запросам и расходу.

AI в WordPress — начните с ключа AI Gateway

Получить ключ