Как настроить автоперевод контента WordPress с использованием GPT-4

Автоматический перевод контента на WordPress — это востребованная функция, позволяющая быстро сделать сайт многоязычным без больших затрат на ручной перевод. В этой статье мы рассмотрим, как интегрировать современный API GPT-4 для автоматического перевода публикаций, страниц и других типов контента в WordPress, а также покажем примеры кода и рекомендации по настройке.

Почему GPT-4 подходит для автоперевода в WordPress

GPT-4 — это мощная языковая модель от OpenAI, способная выполнять качественный перевод с сохранением контекста и стилистики текста. В отличие от традиционных API машинного перевода, GPT-4 может адаптироваться под тематику и формат контента, что особенно важно для сайтов с техническими или специализированными текстами.

Использование GPT-4 позволяет получить:

  • Более естественные и человеческие переводы;
  • Поддержку большого числа языков;
  • Гибкость в настройке и доработке алгоритма перевода;
  • Возможность строить собственные цепочки обработки текста.

Для интеграции GPT-4 в WordPress потребуется написать плагин или использовать кастомный код, который будет отправлять запросы на API OpenAI и получать переведённые тексты.

Создание плагина автоперевода с GPT-4 для WordPress

Давайте создадим простой плагин, который при сохранении записи автоматически переведёт её содержимое на выбранный язык (например, на английский).

Шаг 1. Получение API ключа OpenAI

Для начала зарегистрируйтесь на platform.openai.com и получите API ключ для GPT-4. Этот ключ понадобится для выполнения запросов к сервису.

Шаг 2. Код плагина

Создайте папку wptranslate-gpt4-autotranslate в директории wp-content/plugins/ и файл wptranslate-gpt4-autotranslate.php со следующим содержимым:

<?php
/**
 * Plugin Name: WPTranslate GPT-4 Autotranslate
 * Description: Автоматический перевод контента с использованием GPT-4 при сохранении записи.
 * Version: 1.0
 * Author: WPTranslate
 */

if (!defined('ABSPATH')) {
    exit; // Защита от прямого запуска
}

function wptranslate_call_gpt4_api($text, $target_language = 'English') {
    $api_key = 'ВАШ_API_КЛЮЧ_OPENAI'; // Замените на свой ключ
    $endpoint = 'https://api.openai.com/v1/chat/completions';

    $messages = [
        [
            'role' => 'system',
            'content' => 'You are a helpful translator.'
        ],
        [
            'role' => 'user',
            'content' => "Translate the following text to $target_language:\n$text"
        ]
    ];

    $args = [
        'headers' => [
            'Content-Type' => 'application/json',
            'Authorization' => 'Bearer ' . $api_key,
        ],
        'body' => json_encode([
            'model' => 'gpt-4',
            'messages' => $messages,
            'temperature' => 0.3,
        ]),
        'timeout' => 30,
    ];

    $response = wp_remote_post($endpoint, $args);

    if (is_wp_error($response)) {
        return false;
    }

    $body = wp_remote_retrieve_body($response);
    $data = json_decode($body, true);

    if (isset($data['choices'][0]['message']['content'])) {
        return trim($data['choices'][0]['message']['content']);
    }

    return false;
}

function wptranslate_save_post_autotranslate($post_id, $post, $update) {
    // Проверяем тип записи и права
    if ($post->post_type !== 'post') {
        return;
    }
    if (wp_is_post_revision($post_id)) {
        return;
    }

    // Получаем оригинальный контент
    $original_content = $post->post_content;

    // Переводим на английский
    $translated_content = wptranslate_call_gpt4_api($original_content, 'English');

    if ($translated_content) {
        // Сохраняем перевод в мета-поле
        update_post_meta($post_id, '_wptranslate_gpt4_en_content', $translated_content);
    }
}
add_action('save_post', 'wptranslate_save_post_autotranslate', 10, 3);

// Функция для вывода перевода на сайте, если есть
function wptranslate_get_translated_content($post_id) {
    $translated = get_post_meta($post_id, '_wptranslate_gpt4_en_content', true);
    if (!empty($translated)) {
        return $translated;
    }
    return false;
}

// Короткий код для вывода перевода
function wptranslate_shortcode_translated($atts) {
    $atts = shortcode_atts(['id' => get_the_ID()], $atts, 'wptranslate_translated');
    $translated = wptranslate_get_translated_content($atts['id']);
    if ($translated) {
        return '<div class="wptranslate-translated-content">' . esc_html($translated) . '</div>';
    }
    return '<em>Перевод отсутствует.</em>';
}
add_shortcode('wptranslate_translated', 'wptranslate_shortcode_translated');
?>

Как работает этот код

При сохранении записи с типом post вызывается функция, которая отправляет содержимое записи на API GPT-4 для перевода на английский язык. Результат сохраняется в мета-поле _wptranslate_gpt4_en_content. Для вывода перевода на странице можно использовать шорткод [wptranslate_translated].

Советы по улучшению автоперевода

Фильтрация и подготовка текста

Перед отправкой текста на перевод полезно очищать его от HTML-тегов, шорткодов и лишних пробелов, чтобы не передавать лишние символы в API. Это повысит качество перевода и уменьшит затраты на токены.

Кэширование результатов

Перевод — затратная операция, поэтому сохраняйте результаты в мета-поля или отдельные таблицы. Так вы снизите количество обращений к API и ускорите загрузку страниц.

Выбор языка перевода

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

Альтернативные плагины и инструменты для перевода

Если вы не хотите писать код самостоятельно, можно использовать готовые решения с поддержкой GPT или других сервисов:

  • WPGPT — плагин для интеграции GPT-4 в WordPress, в том числе для создания переводов и генерации контента;
  • Clearfy Pro — оптимизация сайта с поддержкой мультиязычности и переводов;
  • Polylang и WPML с дополнительными модулями для автоматического перевода через API;
  • Custom code решения с использованием других API, например, DeepL или Google Translate.

Обработка ошибок и логирование

При работе с внешними API важно добавлять обработку ошибок и логирование запросов. В нашем примере возвращается false при ошибках, но для продакшена рекомендуется вести журнал ошибок через встроенный в WordPress лог или плагин Debug Bar.

Пример расширенного логирования

function wptranslate_log_error($message) {
    if (defined('WP_DEBUG') && WP_DEBUG) {
        error_log('[WPTranslate GPT4 Autotranslate] ' . $message);
    }
}

Используйте эту функцию для записи ошибок API или неожиданных ситуаций.

Заключение

Автоматический перевод с помощью GPT-4 — мощный инструмент для повышения доступности сайта и расширения аудитории. При грамотной реализации и учёте особенностей API вы сможете создать надежный и качественный автоперевод с гибкой настройкой под нужды вашего проекта на WordPress.

Как перевести на WordPress пользовательские типы записей и таксономии
03.12.2025
Как создать собственный переводчик для WordPress
14.11.2025
Как автоматизировать перевод сообщений WordPress: плагины и кодовые решения
17.11.2025
Как создать многоязычный сайт на WordPress с помощью Polylang
09.11.2025
Как добавить поддержку языков в собственном плагине WordPress
02.02.2026