Автоматизация обработки заявок через формы обратной связи — актуальная задача для многих сайтов на WordPress. Вместо того чтобы тратить время на ручной ответ, можно подключить искусственный интеллект, например, через плагин WPGPT, и настроить выдачу адекватных ответов посетителям. В этой статье разберёмся, как это сделать, рассмотрим примеры кода и подводные камни.
Почему стоит автоматизировать ответы на формы обратной связи в WordPress
Чем больше заявок приходит на сайт, тем больше времени уходит на обработку каждого сообщения. Автоматизация с помощью ИИ позволяет:
- Мгновенно реагировать на пользователя, повышая лояльность и конверсию.
- Сократить нагрузку на службу поддержки.
- Обеспечить постоянное качество ответов без ошибок и задержек.
Плагин WPGPT построен на базе GPT-моделей и отлично подходит для решения таких задач.
Как интегрировать WPGPT с формами обратной связи
Выбор формы и подключение хука отправки
Чаще всего используются популярные плагины с формами: Contact Form 7, Gravity Forms, WPForms. Рассмотрим на примере Contact Form 7.
Чтобы автоматически отвечать на сообщения, нам нужно «поймать» событие отправки формы. В Contact Form 7 можно добавить обработчик на хук wpcf7_mail_sent.
add_action('wpcf7_mail_sent', 'wpgpt_handle_cf7_submission');
function wpgpt_handle_cf7_submission($contact_form) {
$submission = WPCF7_Submission::get_instance();
if (!$submission) return;
$data = $submission->get_posted_data();
$user_message = $data['your-message'] ?? '';
// Генерация ответа через WPGPT
$response = wpgpt_generate_response($user_message);
// Отправляем ответ на email пользователя
$user_email = $data['your-email'] ?? '';
if ($user_email) {
wp_mail($user_email, 'Спасибо за обращение', $response);
}
}В этом примере мы получаем данные формы, извлекаем сообщение пользователя и email, затем вызываем функцию генерации ответа и отправляем письмо.
Создание функции генерации ответа через WPGPT
Функция wpgpt_generate_response — это обёртка над API плагина WPGPT, которая принимает текст запроса и возвращает сгенерированный ответ.
function wpgpt_generate_response($prompt) {
// Здесь пример вызова API WPGPT (зависит от реализации плагина)
$api_key = get_option('wpgpt_api_key');
if (!$api_key) return 'Извините, сейчас ответить не можем.';
$request_body = json_encode([
'model' => 'gpt-3.5-turbo',
'messages' => [[
'role' => 'user',
'content' => $prompt
]]
]);
$response = wp_remote_post('https://api.openai.com/v1/chat/completions', [
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer ' . $api_key
],
'body' => $request_body
]);
if (is_wp_error($response)) {
return 'Ошибка при генерации ответа.';
}
$body = json_decode(wp_remote_retrieve_body($response), true);
return $body['choices'][0]['message']['content'] ?? 'Ответ не получен.';
}Важно: замените вызов API на функции из WPGPT, если они есть, чтобы использовать встроенную интеграцию, тогда не нужно напрямую обращаться к OpenAI.
Настройка шаблонов и ограничение тематики ответов
Чтобы ответы были релевантными и несли ценность, стоит ограничить тематику и добавить контекст. Для этого можно:
- Формировать промпт с уточняющими фразами, например: «Ответь кратко и вежливо по теме поддержки сайта WordPress».
- Использовать шаблоны с переменными, подставляя данные из формы.
- Фильтровать или дополнять ответы перед отправкой.
Пример формирования уточнённого промпта:
$prompt = "Ты — помощник технической поддержки WordPress. Пользователь написал: {$user_message}. Ответь лаконично и понятно.";Обработка ошибок и безопасность
При работе с внешним API и отправкой писем важно учитывать возможные сбои:
- Проверяйте наличие ключа API и корректность настройки плагина.
- Обрабатывайте ошибки wp_remote_post, чтобы не ломать работу сайта.
- Валидация email перед отправкой.
- Ограничьте частоту запросов, чтобы избежать превышения лимитов OpenAI.
Также не забывайте про защиту от спама в формах — используйте CAPTCHA или Honeypot.
Дополнительные возможности и расширения
Плагин WPGPT позволяет не только отвечать на формы, но и создавать:
- Автоматическую модерацию комментариев.
- Генерацию описаний товаров или услуг.
- Помощь администраторам сайта в создании контента.
Вы можете подключить WPGPT к любым формам, используя аналогичную логику и хуки конкретных плагинов.
Пример для WPForms
Для WPForms используйте хук wpforms_process_complete:
add_action('wpforms_process_complete', 'wpgpt_handle_wpforms_submission', 10, 4);
function wpgpt_handle_wpforms_submission($fields, $entry, $form_data, $entry_id) {
$user_message = '';
$user_email = '';
foreach ($fields as $field) {
if ($field['name'] === 'message') {
$user_message = $field['value'];
}
if ($field['name'] === 'email') {
$user_email = $field['value'];
}
}
$response = wpgpt_generate_response($user_message);
if ($user_email) {
wp_mail($user_email, 'Спасибо за ваше сообщение', $response);
}
}Это пример расширяемого решения, легко адаптируемого под любые формы.