Использование тяжелых внешних плагинов для интеграции искусственного интеллекта в WordPress часто приводит к замедлению работы базы данных, уязвимостям в безопасности и регулярным расходам на подписки. Оптимальное решение для коммерческого highload-проекта — написание автономного легковесного обработчика на чистом PHP с прямым обращением к API нейросетей через нативный класс WordPress WP_Http.
Хранение секретных токенов доступа в базе данных WordPress — критическая ошибка безопасности. Изолируем ключ на уровне сервера. Откройте файл wp-config.php и добавьте константу до инициализации ядра:
define('DEEPSEEK_API_KEY', 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
Вместо использования тяжелых сторонних SDK, мы задействуем быструю нативную функцию wp_remote_post(). Этот код выполняет асинхронный запрос, передает JSON-тело и обрабатывает ошибки таймаута:
function it_gig_send_deepseek_request($prompt) {
if (!defined('DEEPSEEK_API_KEY')) {
return false;
}
$url = 'https://deepseek.com';
$args = [
'headers' => [
'Authorization' => 'Bearer ' . DEEPSEEK_API_KEY,
'Content-Type' => 'application/json',
],
'body' => json_encode([
'model' => 'deepseek-chat',
'messages' => [
['role' => 'user', 'content' => $prompt]
],
'temperature' => 0.3
]),
'timeout' => 30,
];
$response = wp_remote_post($url, $args);
if (is_wp_error($response)) {
return false;
}
$body = wp_remote_retrieve_body($response);
$data = json_decode($body, true);
return isset($data['choices'][0]['message']['content']) ? trim($data['choices'][0]['message']['content']) : false;
}
Скрипт перехватывает контент при сохранении, отправляет точечный запрос ИИ и нативно перезаписывает стандартное поле записи без использования плагинов:
add_action('save_post', 'it_gig_auto_generate_excerpt', 10, 3);
function it_gig_auto_generate_excerpt($post_id, $post, $update) {
if (wp_is_post_revision($post_id) || $post->post_status !== 'publish') {
return;
}
if (!empty($post->post_excerpt)) {
return;
}
$clean_content = wp_strip_all_tags($post->post_content);
$prompt = 'Сделай краткое SEO-описание (до 150 символов) для следующего технического текста: ' . $clean_content;
$ai_response = it_gig_send_deepseek_request($prompt);
if ($ai_response) {
remove_action('save_post', 'it_gig_auto_generate_excerpt', 10);
wp_update_post([
'ID' => $post_id,
'post_excerpt' => sanitize_text_field($ai_response)
]);
add_action('save_post', 'it_gig_auto_generate_excerpt', 10, 3);
}
}
Теги: