Автоматизация сбора и отображения отзывов на сайте — важный элемент для повышения доверия и улучшения пользовательского опыта. В этой статье мы рассмотрим, как создать автоматический генератор отзывов с числовой оценкой в WordPress, используя собственный плагин и интеграцию с системой WPGPT для анализа и генерации отзывов. Такой подход позволит не только собирать отзывы, но и автоматически оценивать их качество, а также модерировать содержимое.
Почему важен автоматический генератор отзывов с оценкой
Отзывы с оценками помогают посетителям быстро понять качество продукта или услуги. Ручной сбор отзывов и их обработка часто требуют много времени и ресурсов. Автоматический генератор отзывов с оценкой позволит:
- Снизить нагрузку на модераторов и администраторов сайта.
- Автоматически фильтровать некачественные или спам-отзывы.
- Повысить вовлечённость пользователей через удобный интерфейс.
- Использовать возможности искусственного интеллекта для анализа и генерации отзывов.
Рассмотрим пример создания такого функционала на базе WordPress и WPGPT.
Создание пользовательского типа записи для отзывов с оценкой
Для начала создадим собственный тип записи review, который будет хранить отзывы с оценками. В файле вашего плагина или темы добавьте следующий код:
function wpgpt_register_review_post_type() {
$labels = array(
'name' => 'Отзывы',
'singular_name' => 'Отзыв',
'add_new' => 'Добавить отзыв',
'add_new_item' => 'Добавить новый отзыв',
'edit_item' => 'Редактировать отзыв',
'new_item' => 'Новый отзыв',
'all_items' => 'Все отзывы',
'view_item' => 'Просмотреть отзыв',
'search_items' => 'Искать отзывы',
'not_found' => 'Отзывы не найдены',
'not_found_in_trash' => 'В корзине отзывы не найдены',
'menu_name' => 'Отзывы'
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'custom-fields'),
'show_in_rest' => true,
'menu_position' => 20,
'menu_icon' => 'dashicons-testimonial'
);
register_post_type('review', $args);
}
add_action('init', 'wpgpt_register_review_post_type');Этот код создаст в админке раздел «Отзывы», где можно будет добавлять отзывы с описанием и оценкой.
Добавление пользовательского метаполя для оценки
Для оценки мы добавим пользовательское поле rating с помощью метабокса:
function wpgpt_add_rating_metabox() {
add_meta_box(
'wpgpt_rating_metabox',
'Оценка отзыва',
'wpgpt_render_rating_metabox',
'review',
'side',
'default'
);
}
add_action('add_meta_boxes', 'wpgpt_add_rating_metabox');
function wpgpt_render_rating_metabox($post) {
$value = get_post_meta($post->ID, 'rating', true);
if (!$value) $value = 5;
echo '<label for="wpgpt_rating_field">Оценка (1-10):</label>';
echo '<input type="number" id="wpgpt_rating_field" name="wpgpt_rating_field" min="1" max="10" value="'.esc_attr($value).'" />';
}
function wpgpt_save_rating_metabox($post_id) {
if (array_key_exists('wpgpt_rating_field', $_POST)) {
$rating = intval($_POST['wpgpt_rating_field']);
if ($rating < 1) $rating = 1;
if ($rating > 10) $rating = 10;
update_post_meta($post_id, 'rating', $rating);
}
}
add_action('save_post', 'wpgpt_save_rating_metabox');Теперь при создании или редактировании отзыва можно выставлять оценку от 1 до 10.
Интеграция с WPGPT для автоматического анализа и генерации отзывов
Плагин WPGPT позволяет использовать GPT-модели для анализа текста и генерации контента. Мы можем автоматически оценивать качество отзыва, выявлять спам или предлагать варианты улучшения. Рассмотрим пример функции, которая анализирует текст отзыва и предлагает оценку:
function wpgpt_analyze_review_text($text) {
// Эмуляция вызова WPGPT API (замените на реальный вызов)
// Например: $response = WPGPT::analyzeText($text);
// Для примера вернём случайную оценку от 5 до 10
return rand(5, 10);
}
function wpgpt_auto_rate_review($post_id) {
$post = get_post($post_id);
if ($post->post_type !== 'review') return;
$text = $post->post_content;
$auto_rating = wpgpt_analyze_review_text($text);
update_post_meta($post_id, 'rating', $auto_rating);
}
add_action('save_post_review', 'wpgpt_auto_rate_review');Этот код автоматически обновит оценку отзыва при его сохранении, используя анализ текста через GPT (здесь приведён упрощённый пример с рандомом, в реальном проекте используйте API WPGPT).
Автоматическая генерация шаблонных отзывов
Также можно создавать автоматические отзывы на основе шаблонов и данных о продукте. Пример функции генерации отзыва с помощью WPGPT:
function wpgpt_generate_review($product_name) {
// Вызов GPT для генерации текста отзыва
// $prompt = "Напиши положительный отзыв для продукта: $product_name";
// $review_text = WPGPT::generateText($prompt);
// Для примера используем заглушку
$review_text = "Отличный продукт $product_name! Очень доволен качеством и функциями.";
return $review_text;
}
function wpgpt_create_auto_review($product_name) {
$review_text = wpgpt_generate_review($product_name);
$post_id = wp_insert_post(array(
'post_title' => 'Автоматический отзыв для ' . $product_name,
'post_content' => $review_text,
'post_type' => 'review',
'post_status' => 'publish'
));
if ($post_id) {
update_post_meta($post_id, 'rating', rand(7, 10));
}
return $post_id;
}Такой подход позволит быстро создавать базу отзывов для тестирования или наполнения сайта в период запуска.
Отображение отзывов и рейтингов на сайте
Чтобы вывести отзывы с оценками на странице сайта, используйте WP_Query и стандартные функции:
function wpgpt_display_reviews($args = array()) {
$query_args = array_merge(array(
'post_type' => 'review',
'posts_per_page' => 10,
'post_status' => 'publish'
), $args);
$query = new WP_Query($query_args);
if (!$query->have_posts()) {
echo '<p>Отзывы отсутствуют.</p>';
return;
}
echo '<div class="wpgpt-reviews">';
while ($query->have_posts()) {
$query->the_post();
$rating = get_post_meta(get_the_ID(), 'rating', true);
echo '<div class="wpgpt-review">';
echo '<h3>' . esc_html(get_the_title()) . '</h3>';
echo '<div class="wpgpt-rating">Оценка: ' . intval($rating) . ' / 10</div>';
echo '<div class="wpgpt-content">' . wp_kses_post(get_the_content()) . '</div>';
echo '</div>';
}
echo '</div>';
wp_reset_postdata();
}Поместите вызов wpgpt_display_reviews() в нужное место шаблона для вывода отзывов.
Улучшение визуального представления
Рекомендуется добавить CSS-стили для улучшения отображения рейтинга, например, звёздочки или цветовое выделение оценки. Можно использовать популярные библиотеки иконок или кастомные SVG.
Дополнительные рекомендации и плагины для отзывов с оценкой
Если вы хотите расширить функционал без программирования, рассмотрите следующие плагины и инструменты:
- Expert Review — мощный плагин для создания отзывов с оценками и детальной аналитикой.
- Quizle — можно использовать для создания опросов и сбора отзывов с рейтингом.
- Интеграция с WPGPT для автоматизации анализа отзывов и генерации новых.
Использование этих инструментов позволит быстро и эффективно организовать систему отзывов на базе WordPress.