К содержимому
Интеграции

Интеграция 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 и возвращает текст ответа. Ключ читается из константы:

    phpphp
    <?php// wp-content/mu-plugins/aigate.phpfunction aigate_generate($prompt, $model = 'deepseek/deepseek-v4-flash') {$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»):

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

    На сохранение товара WooCommerce формируем краткое описание, если его ещё нет. Флаг ставим ДО wp_update_post, иначе вызов сам поднимет save_post и уйдёт в рекурсию — на момент вложенного вызова флаг ещё не записан:

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

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

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

Актуальные цены каталога AI Gateway за 1 млн токенов. Все модели →

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

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

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

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

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

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

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

AI Gateway

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