Создание интерактивных квизов — отличный способ повысить вовлечённость пользователей на сайте. Но ручное создание вопросов занимает много времени. В этой статье мы разберём, как автоматизировать процесс генерации вопросов для квиза на WordPress с помощью искусственного интеллекта, реализованного в плагине WPGPT. Это позволит создавать уникальные, релевантные и разнообразные вопросы для ваших викторин без лишних усилий.
Почему стоит использовать автоматический генератор вопросов?
Создание квизов требует много креативности и времени на подготовку контента. Автоматический генератор с использованием ИИ помогает:
- Экономить время на подготовку вопросов;
- Получать уникальные и разнообразные вопросы по заданной теме;
- Обеспечивать постоянное обновление контента и вовлечение аудитории;
- Улучшать качество квизов за счёт адаптации вопросов под целевую аудиторию.
Плагин WPGPT предоставляет удобный интерфейс для интеграции GPT-моделей прямо в WordPress, что упрощает процесс создания таких генераторов.
Основные шаги создания автоматического генератора вопросов
Разобьём задачу на этапы:
- Установка и настройка плагина WPGPT;
- Создание функции генерации вопросов на PHP с вызовом GPT через WPGPT API;
- Интеграция функции с формой создания квиза или кастомным типом записей;
- Вывод сгенерированных вопросов на сайте в нужном формате.
1. Установка плагина WPGPT
Для начала загрузите и активируйте плагин WPGPT, если он у вас ещё не установлен. Это можно сделать через панель администратора WordPress или скачав архив с официального репозитория WPGPT на WPSHOP.
После активации в настройках плагина укажите ваш API-ключ OpenAI или другой поддерживаемый сервис, чтобы плагин мог отправлять запросы к GPT.
2. Создание PHP-функции генерации вопросов
Далее создадим функцию wp_gpt_generate_quiz_questions, которая будет принимать тему квиза и количество вопросов, а возвращать массив сгенерированных вопросов. Используем встроенный API плагина WPGPT для обращения к GPT.
function wp_gpt_generate_quiz_questions($topic, $questions_count = 5) {
$prompt = "Сгенерируй список из {$questions_count} вопросов для квиза по теме: {$topic}. Вопросы должны быть краткими и понятными.";
// Обращаемся к API WPGPT для генерации текста
$response = WPGPT\API::generate_text($prompt, [
'temperature' => 0.7,
'max_tokens' => 500
]);
if (empty($response['choices'][0]['text'])) {
return [];
}
$text = trim($response['choices'][0]['text']);
// Предполагаем, что вопросы идут списком, разделённые переносами строк
$questions = preg_split('/\r?\n/', $text);
// Очищаем и фильтруем
$questions = array_filter(array_map('trim', $questions));
return $questions;
}
В этой функции мы формируем подсказку для GPT, отправляем её через API плагина и парсим ответ, предполагая, что GPT вернёт список вопросов по строкам.
3. Интеграция в создание квиза
Предположим, у вас есть кастомный тип записи quiz с мета-полем topic, в котором хранится тема квиза. Добавим кнопку, которая при нажатии вызовет генерацию вопросов и сохранит их в метаполе quiz_questions.
add_action('add_meta_boxes', function() {
add_meta_box('quiz_generator', 'Генератор вопросов WPGPT', 'wp_gpt_quiz_generator_box', 'quiz', 'side');
});
function wp_gpt_quiz_generator_box($post) {
?>
<button id="wp-gpt-generate-quiz-questions" type="button">Сгенерировать вопросы</button>
<div id="wp-gpt-quiz-result"></div>
<script>
document.getElementById('wp-gpt-generate-quiz-questions').addEventListener('click', function() {
const postId = <?php echo $post->ID; ?>;
fetch(ajaxurl, {
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: 'action=wp_gpt_generate_quiz_questions&post_id=' + postId
})
.then(response => response.json())
.then(data => {
if(data.success) {
document.getElementById('wp-gpt-quiz-result').innerHTML = '<ul>' + data.questions.map(q => '<li>' + q + '</li>').join('') + '</ul>';
} else {
document.getElementById('wp-gpt-quiz-result').textContent = 'Ошибка генерации вопросов';
}
});
});
</script>
<?php
}
add_action('wp_ajax_wp_gpt_generate_quiz_questions', function() {
$post_id = intval($_POST['post_id']);
$topic = get_post_meta($post_id, 'topic', true);
if(!$topic) {
wp_send_json_error('Не указана тема квиза');
}
$questions = wp_gpt_generate_quiz_questions($topic, 5);
if(empty($questions)) {
wp_send_json_error('Вопросы не сгенерированы');
}
update_post_meta($post_id, 'quiz_questions', $questions);
wp_send_json_success(['questions' => $questions]);
});
Этот код добавит метабокс с кнопкой генерации вопросов. По нажатию будет AJAX-запрос, который вызовет нашу функцию генерации, сохранит вопросы и покажет их на экране.
4. Вывод вопросов на фронтенде
Для вывода вопросов квиза на сайте используйте следующий пример кода в шаблоне:
$questions = get_post_meta(get_the_ID(), 'quiz_questions', true);
if(!empty($questions) && is_array($questions)) {
echo '<ol class="quiz-questions">';
foreach($questions as $question) {
echo '<li>' . esc_html($question) . '</li>';
}
echo '</ol>';
} else {
echo '<p>Вопросы для этого квиза ещё не сгенерированы.</p>';
}
Так вы выведете список вопросов в упорядоченном списке на странице квиза.
Дополнительные советы и улучшения
Использование параметров GPT для улучшения качества
Регулируйте параметры temperature и max_tokens в вызове API, чтобы получить более точные или творческие вопросы. Например, temperature около 0.5 даёт более однозначные вопросы, а 0.8 — более разнообразные.
Добавление вариантов ответов
Можно усложнить подсказку и попросить GPT генерировать не только вопросы, но и варианты ответов, например, в формате JSON. Тогда функция будет парсить этот JSON и создавать полноценные тесты с вариантами выбора.
Интеграция с плагином Quizle
Если у вас установлен плагин Quizle, можно адаптировать функцию генерации под формат вопросов этого плагина и автоматически создавать квизы в его интерфейсе, что значительно упростит работу с викторинами.
Заключение
Автоматический генератор вопросов для квиза на WordPress с помощью WPGPT — мощный инструмент для создания интерактивного и интересного контента. Он экономит время, повышает качество и разнообразие вопросов, а также открывает новые возможности для вовлечения аудитории. Используйте описанный подход, чтобы создавать уникальные квизы с минимальными усилиями и максимальным эффектом.