Автоматизация сбора и публикации отзывов — одна из важных задач для сайтов на WordPress, особенно если вы хотите повысить доверие пользователей без постоянного ручного контроля. В этой статье разберём, как с помощью плагина Quizle и собственного кода организовать автоматическое создание и публикацию отзывов на вашем сайте.
Почему именно автоматические отзывы важны для сайта
Отзыв — это социальное доказательство, которое влияет на решение посетителей. Но вручную собирать отзывы сложно и долго, особенно если у вас много клиентов. Автоматизация позволяет:
- Сократить время на модерацию и публикацию отзывов;
- Обеспечить регулярное обновление отзывов на сайте;
- Увеличить вовлечённость пользователей через интерактивные опросы и квизы;
- Получать структурированные данные, которые можно использовать в SEO и маркетинге.
Плагин Quizle отлично подходит для создания интерактивных опросов и может пригодиться для сбора отзывов с автоматическим их отображением.
Установка и базовая настройка плагина Quizle
Для начала установим плагин Quizle с официального сайта WPShop.ru. После установки и активации:
- Создайте новый квиз с вопросами, которые помогут получить полезные отзывы (например, оценка качества услуги, комментарии, рекомендации). Можно настроить типы вопросов – рейтинги, открытые поля, выбор из списка.
- Настройте отображение квиза на странице или в виджете.
- Подключите опцию сохранения результатов и уведомления администратора.
Теперь у вас есть инструмент для сбора отзывов в интерактивном формате.
Автоматическое создание отзыва на основе результатов Quizle
Чтобы автоматически создавать отзывы на основе собранных данных, добавим PHP-код, который будет обрабатывать результаты квиза и создавать записи в кастомном типе «Отзывы».
Создание кастомного типа записи для отзывов
Добавим регистрацию типа записи wpsnippets_review в файл functions.php вашей темы или в отдельный плагин:
function wpsnippets_register_review_cpt() {
$labels = array(
'name' => 'Отзывы',
'singular_name' => 'Отзыв',
'add_new' => 'Добавить отзыв',
'add_new_item' => 'Добавить новый отзыв',
'edit_item' => 'Редактировать отзыв',
'new_item' => 'Новый отзыв',
'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', 'author'),
'show_in_rest' => true
);
register_post_type('wpsnippets_review', $args);
}
add_action('init', 'wpsnippets_register_review_cpt');Обработка результатов квиза и создание отзыва
Предположим, что плагин Quizle сохраняет результаты опроса в своей таблице или через хук. Используем хук, к примеру, quizle_after_quiz_completed (пример, уточните в документации плагина). Добавим обработчик:
function wpsnippets_quizle_create_review($quiz_results) {
// Пример структуры $quiz_results
// [
// 'user_name' => 'Иван Иванов',
// 'rating' => 5,
// 'comment' => 'Отличный сервис!'
// ]
$post_data = array(
'post_title' => 'Отзыв от ' . sanitize_text_field($quiz_results['user_name']),
'post_content' => sanitize_textarea_field($quiz_results['comment']),
'post_status' => 'publish',
'post_type' => 'wpsnippets_review',
'post_author' => 1 // Можно назначить системного автора или пользователя
);
$post_id = wp_insert_post($post_data);
if ($post_id && !is_wp_error($post_id)) {
update_post_meta($post_id, 'wpsnippets_rating', intval($quiz_results['rating']));
}
}
add_action('quizle_after_quiz_completed', 'wpsnippets_quizle_create_review');Этот код автоматически создаст отзыв с заголовком «Отзыв от [Имя]», сохранит комментарий и рейтинг в метаполе.
Вывод отзывов с рейтингом на сайте
Чтобы показать отзывы, создадим шорткод, который выводит последние отзывы с рейтингами звёзд:
function wpsnippets_show_reviews_shortcode($atts) {
$atts = shortcode_atts(array('count' => 5), $atts, 'wpsnippets_reviews');
$args = array(
'post_type' => 'wpsnippets_review',
'posts_per_page' => intval($atts['count']),
'post_status' => 'publish'
);
$reviews = new WP_Query($args);
$output = '<div class="wpsnippets-reviews">';
if ($reviews->have_posts()) {
while ($reviews->have_posts()) {
$reviews->the_post();
$rating = intval(get_post_meta(get_the_ID(), 'wpsnippets_rating', true));
$output .= '<div class="review-item">';
$output .= '<h3>' . get_the_title() . '</h3>';
$output .= '<div class="review-rating">' . str_repeat('⭐', $rating) . '</div>';
$output .= '<div class="review-content">' . get_the_content() . '</div>';
$output .= '</div>';
}
} else {
$output .= '<p>Отзывов пока нет.</p>';
}
$output .= '</div>';
wp_reset_postdata();
return $output;
}
add_shortcode('wpsnippets_reviews', 'wpsnippets_show_reviews_shortcode');Теперь вы можете вывести отзывы на любой странице, используя шорткод [wpsnippets_reviews count="3"].
Дополнительные советы и рекомендации
Фильтрация и модерация отзывов
Автоматическое создание отзывов удобно, но не забывайте про модерацию. Можно добавить статус pending и вручную проверять отзывы перед публикацией. Для этого измените параметр post_status в wp_insert_post на 'pending'. Также полезно добавить капчу в квиз Quizle, чтобы снизить спам.
Интеграция с другими плагинами WPShop
Для расширения функционала можно использовать плагин Expert Review, который специализируется на управлении отзывами и рейтингами. В связке с Quizle можно создать мощную систему сбора и показа отзывов.
Оптимизация и кеширование
Отображение большого количества отзывов может замедлить сайт. Используйте кеширование, например, с плагином Clearfy Pro, чтобы ускорить загрузку страниц с отзывами. Также можно настроить пагинацию с помощью ABC Pagination.