Как создать оценку настроения в опросе WordPress с примерами и кодом

Оценка настроения — это полезный инструмент для сбора отзывов пользователей и анализа их эмоциональной реакции на контент или сервис. В этой статье мы подробно разберём, как добавить в WordPress опросы с оценкой настроения, используя как плагины, так и кастомный код. Это поможет повысить вовлечённость и получить более точные данные от посетителей.

Почему важно использовать оценку настроения в опросах WordPress

Опросы с оценкой настроения отличаются от стандартных опросов тем, что позволяют пользователям выразить не просто выбор, а эмоциональное состояние. Это может быть полезно для:

  • Оценки качества контента — читатели делятся впечатлениями.
  • Сбора отзывов о продуктах или услугах с акцентом на эмоциональную составляющую.
  • Анализа пользовательского опыта для улучшения сайта.

Кроме того, визуальное оформление с иконками эмоций делает опрос более привлекательным и удобным для посетителей.

Использование плагина Quizle для создания оценки настроения

Плагин Quizle — один из удобных инструментов для создания интерактивных опросов в WordPress. Он поддерживает разные типы вопросов, включая выбор настроения через эмодзи.

Чтобы создать оценку настроения с Quizle, выполните следующие шаги:

  1. Установите и активируйте плагин Quizle с официального сайта WPSHOP.RU.
  2. Создайте новый опрос и добавьте вопрос с типом «Оценка» или «Выбор эмоций».
  3. Настройте варианты ответов, используя эмодзи или картинки, например: 😀 😐 😞.
  4. Опубликуйте опрос и вставьте шорткод на нужную страницу.

Quizle автоматически соберёт и покажет результаты в удобном виде. Это отличный вариант без программирования.

Создание оценки настроения в опросе WordPress с помощью кастомного кода

Если нужна более гибкая настройка или интеграция с существующими опросами, можно написать свой код. Рассмотрим пример, как добавить в WordPress опрос с выбором настроения и сохранить результаты в пользовательскую таблицу.

Создание таблицы для хранения оценок

Для начала создадим таблицу в базе данных с помощью функции, подключаемой при активации темы или плагина:

function wppolls_create_mood_table() {
    global $wpdb;
    $table_name = $wpdb->prefix . 'wppolls_mood';
    $charset_collate = $wpdb->get_charset_collate();

    $sql = "CREATE TABLE $table_name (
        id mediumint(9) NOT NULL AUTO_INCREMENT,
        user_ip varchar(100) NOT NULL,
        mood varchar(20) NOT NULL,
        time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
        PRIMARY KEY  (id)
    ) $charset_collate;";

    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    dbDelta($sql);
}
register_activation_hook(__FILE__, 'wppolls_create_mood_table');

Это создаст таблицу для хранения IP пользователя, выбранного настроения и времени голосования.

Вывод формы оценки настроения

Создадим шорткод для вывода формы с эмодзи:

function wppolls_mood_form_shortcode() {
    $output = '<form method="post">';
    $moods = [
        'happy' => '😀',
        'neutral' => '😐',
        'sad' => '😞'
    ];

    foreach ($moods as $key => $emoji) {
        $output .= '<label><input type="radio" name="wppolls_mood" value="' . esc_attr($key) . '" required>' . $emoji . '</label> ';
    }
    $output .= '<button type="submit" name="wppolls_mood_submit">Оценить</button>';
    $output .= '</form>';
    return $output;
}
add_shortcode('wppolls_mood_form', 'wppolls_mood_form_shortcode');

Обработка и сохранение оценки

Добавим обработчик формы, который сохранит голос в базу:

function wppolls_handle_mood_submission() {
    if (isset($_POST['wppolls_mood_submit']) && !empty($_POST['wppolls_mood'])) {
        global $wpdb;
        $table_name = $wpdb->prefix . 'wppolls_mood';
        $mood = sanitize_text_field($_POST['wppolls_mood']);
        $user_ip = $_SERVER['REMOTE_ADDR'];

        // Проверяем, не голосовал ли уже этот IP за последние 24 часа
        $time_limit = date('Y-m-d H:i:s', strtotime('-24 hours'));
        $exists = $wpdb->get_var($wpdb->prepare(
            "SELECT COUNT(*) FROM $table_name WHERE user_ip = %s AND time > %s",
            $user_ip, $time_limit
        ));

        if (!$exists) {
            $wpdb->insert($table_name, [
                'user_ip' => $user_ip,
                'mood' => $mood,
                'time' => current_time('mysql')
            ]);
            echo '<p>Спасибо за вашу оценку!</p>';
        } else {
            echo '<p>Вы уже голосовали в последние 24 часа.</p>';
        }
    }
}
add_action('wp', 'wppolls_handle_mood_submission');

Вывод статистики по оценкам настроения

Для аналитики удобно показать, сколько голосов за каждое настроение. Сделаем шорткод с подсчётом и выводом:

function wppolls_mood_results_shortcode() {
    global $wpdb;
    $table_name = $wpdb->prefix . 'wppolls_mood';
    $results = $wpdb->get_results("SELECT mood, COUNT(*) as count FROM $table_name GROUP BY mood", OBJECT_K);

    $moods = [
        'happy' => '😀',
        'neutral' => '😐',
        'sad' => '😞'
    ];

    $output = '<div class="wppolls-mood-results"><h3>Результаты оценки настроения</h3><ul>';
    foreach ($moods as $key => $emoji) {
        $count = isset($results[$key]) ? intval($results[$key]->count) : 0;
        $output .= '<li>' . $emoji . ' — ' . $count . ' голосов</li>';
    }
    $output .= '</ul></div>';
    return $output;
}
add_shortcode('wppolls_mood_results', 'wppolls_mood_results_shortcode');

Советы по улучшению оценки настроения в опросах WordPress

Добавьте AJAX для обновления результатов без перезагрузки

Для комфортного взаимодействия можно реализовать отправку оценки и обновление результатов с помощью AJAX. Это улучшит UX, особенно на мобильных устройствах.

Используйте иконки или SVG для кастомного дизайна

Эмодзи отлично работают, но для брендированного стиля лучше использовать свои SVG-иконки настроений. Это позволит сделать опрос уникальным и гармоничным с дизайном сайта.

Интегрируйте оценку настроения с другими плагинами

Если вы используете плагин WPRemark для анализа комментариев или Expert Review для отзывов, можно расширить функционал, связывая оценки настроения с отзывами, чтобы получить более глубокий анализ.

Например, можно автоматически предлагать оценить настроение после оставления отзыва с помощью WPRemark.

Заключение

Создание оценки настроения в опросах WordPress — эффективный способ получить эмоциональную обратную связь от пользователей. Можно использовать готовые плагины, такие как Quizle, для быстрого старта, или написать кастомный код для полной кастомизации и интеграции с другими функциями сайта. Приведённые примеры помогут разработчикам реализовать эту задачу качественно и удобно.

Как сделать опрос с ответами в несколько категорий в WordPress
13.12.2025
Как удалить голоса и отзывы из опросов WordPress за один шаг
03.05.2026
Создание опроса с автоподсчетом и подробной аналитикой в WordPress
27.02.2026
Как создать опрос с автоматическим экспортом результатов в CSV в WordPress
10.04.2026
Автоматическое удаление старых голосов в опросах WordPress: пошаговое руководство
09.06.2026