Создаем форму опроса по интересующему предмету.
YOP Poll
Еще один отличный плагин по созданию опросов. 20 000 скачиваний, но при этом 393 положительных оценки (у WP-Polls 117 оценок).
В бесплатной версии:
- Настройка дизайна опроса. Можно изменять текст кнопки «Vote».
- Формирование структуры опроса. Можно создавать несколько вопросов. Опции свой ответ и несколько ответов.
- Настройка — показывать ли количество проголосовавших.
- Настройка периода опроса.
- Возможность редиректа после опроса.
- Возможность уведомлений по e-mail.
- Настройки уникальности избирателей. Допуск к голосованию: все, только зарегистрированные пользователи WordPress, пользователи Google, пользователи Facebook. Определять уникальность по IP, Cookies, идентификатору пользователя WP.
- Настройка результатов опроса. Показывать ли результат, в каком виде, когда.
- Лог голосования. Причем учитываются все ответы засчитанные и отмененные.
После создания опроса генерируется шорткод:
[yop_poll id="1"]
Если изменить шорткод, он будет выводить результаты опроса:
[yop_poll id="1" show_results="1"]
Из минусов:
- Нет в админки возможности перевода фраз типа: Thank you for your vote, Vote not allowed. Нужно лезть в перевод или править файл yop-poll/public/public.php
- В админке нет нормального отображения результатов конкретного голосования. Нужно его выводить с помощью шорткода во фронтенде.
- Нет настройки — скрывать опрос для тех кто уже проголосовал.
WP-Polls
100 000 скачиваний. Более простой функционал по сравнению с предыдущим плагином. Но для простых опросов — самое то.
Программируется только один вопрос на опрос. Но опросов можно создать сколько угодно.
После голосования показывает результат, если зайти повторно будет показывать только результат.
Можно настроить шаблоны вывода формы.
Выводится либо виджетом, либо шорткодом:
[poll id="N"] — где N - это ID опроса
[poll id="N" type="result"] — вывести только результат опроса N
[poll id="-2"] — случайный опрос
Скрытие опроса после голосования и вывод сообщения с благодарностью
Верстка:
<div id="site-poll" style="display: none;"><?php echo do_shortcode( '[poll id="1"]' ); ?></div>
<div id="site-poll-note" style="display: none;">Спасибо за ваш ответ, мы будем иметь его в виду.</div>
Скрипт (!должна быть подключена библиотека Cookie):
jQuery(window).load(function () {
var voted = jQuery.cookie('voted_1');
if (voted == null) { jQuery('#site-poll').show(); }
jQuery('#site-poll input.Buttons').click(function () {
jQuery('#site-poll').hide();
jQuery('#site-poll-note').slideToggle();
});
});
Чтобы не показывать форму опроса на другом браузере по IP (даже без Cookies) нужно выводить ее так:
<?php $check_voted = check_voted_ip( 1 );
if( !$check_voted > 0 ) { echo do_shortcode( '[poll id="1"]' ); } ?>
1 в первой строке это ID формы.
Но при этом, чтобы не показывать результаты опроса — нужно все равно скрывать их скриптом при нажатии кнопки (как сделать описано выше).
Резюме по опросам
Если нужно реализовать простой опрос из одного вопроса, то лучшим вариантом будет использование Wp-Polls, но если нужно что-то посложнее (опрос состоящий из нескольких вопросов), то нужно использовать YOP Poll.
Как создать подобный функционал без использования плагинов.
[site-socialshare]