WP-Polls is extremely customizable via templates and css styles and there are tons of options for you to choose to ensure that WP-Polls runs the way you wanted. It now supports multiple selection of answers.

Build Status







I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.


  • Admin - All Poll
  • Admin - Manage Polls
  • Admin - Poll Options
  • Admin - Poll Templates
  • Admin - Poll Widget
  • Admin - Uninstall Poll
  • Poll - Single Poll Answer
  • Poll - Mutiple Poll Answers
  • Poll - Results
  • Poll - Archive


General Usage (Without Widget)

<?php if ( function_exists( 'vote_poll' ) && ! in_pollarchive() ): ?>
<li><?php get_poll();?></li>
<?php display_polls_archive_link(); ?>
<?php endif; ?>

  • To show specific poll, use <?php get_poll(2); ?> where 2 is your poll id.
  • To show random poll, use <?php get_poll(-2); ?>
  • To embed a specific poll in your post, use [poll id="2"] where 2 is your poll id.
  • To embed a random poll in your post, use [poll id="-2"]
  • To embed a specific poll’s result in your post, use [poll id="2" type="result"] where 2 is your poll id.
General Usage (With Widget)
  1. Go to WP-Admin -> Appearance -> Widgets.
  2. You can add the Polls Widget by clicking on the ‘Add’ link besides it.
  3. After adding, you can configure the Polls Widget by clicking on the ‘Edit’ link besides it.
  4. Click ‘Save Changes’.
  5. Scroll down for instructions on how to create a Polls Archive.
How To Add A Polls Archive?
  1. Go to WP-Admin -> Pages -> Add New.
  2. Type any title you like in the post’s title area.
  3. If you ARE using nice permalinks, after typing the title, WordPress will generate the permalink to the page. You will see an ‘Edit’ link just beside the permalink.
  4. Click ‘Edit’ and type in pollsarchive in the text field and click ‘Save’.
  5. Type [page_polls] in the post’s content area.
  6. Click ‘Publish’.
  • If you ARE NOT using nice permalinks, you need to go to WP-Admin -> Polls -> Poll Options and under Poll Archive -> Polls Archive URL, you need to fill in the URL to the Polls Archive Page you created above.
Why doesn’t my poll’s answers add up to 100%?
  • It is because of rounding issues. To make it always round up to 100%, the last poll’s answer will get the remainding percentage added to it. To enable this feature, add this to your theme’s functions.php: add_filter( 'wp_polls_round_percentage', '__return_true' );
How Does WP-Polls Load CSS?
  • WP-Polls will load polls-css.css from your theme’s directory if it exists.
  • If it doesn’t exists, it will just load the default polls-css.css that comes with WP-Polls.
  • This will allow you to upgrade WP-Polls without worrying about overwriting your polls styles that you have created.
Why In Internet Explorer (IE) The poll’s Text Appear Jagged?
  • To solve this issue, Open poll-css.css
  • Find: /* background-color: #ffffff; */
  • Replace: background-color: #ffffff; (where #ffffff should be your background color for the poll.)
How Do I Have Individual Colors For Each Poll’s Bar?
  • Courtesy Of TreedBox.com
  • Open poll-css.css
  • Add to the end of the file:

    .wp-polls-ul li:nth-child(01) .pollbar{ background:#8FA0C5}
    .wp-polls-ul li:nth-child(02) .pollbar{ background:#FF8}
    .wp-polls-ul li:nth-child(03) .pollbar{ background:#ff8a3b}
    .wp-polls-ul li:nth-child(04) .pollbar{ background:#a61e2a}
    .wp-polls-ul li:nth-child(05) .pollbar{ background:#4ebbff}
    .wp-polls-ul li:nth-child(06) .pollbar{ background:#fbca54}
    .wp-polls-ul li:nth-child(07) .pollbar{ background:#aad34f}
    .wp-polls-ul li:nth-child(08) .pollbar{ background:#66cc9a}
    .wp-polls-ul li:nth-child(09) .pollbar{ background:#98CBCB}
    .wp-polls-ul li:nth-child(10) .pollbar{ background:#a67c52}
    .wp-polls-ul li .pollbar{ transition: background 0.7s ease-in-out }
    .wp-polls-ul li .pollbar:hover{ background:#F00 }

To Display Total Polls

<?php if ( function_exists( 'get_pollquestions' ) ): ?>
<?php get_pollquestions(); ?>
<?php endif; ?>

To Display Total Poll Answers

<?php if ( function_exists( 'get_pollanswers' ) ): ?>
<?php get_pollanswers(); ?>
<?php endif; ?>

To Display Total Poll Votes

<?php if ( function_exists( 'get_pollvotes' ) ): ?>
<?php get_pollvotes(); ?>
<?php endif; ?>

To Display Total Poll Voters

<?php if ( function_exists( 'get_pollvoters' ) ): ?>
<?php get_pollvoters(); ?>
<?php endif; ?>


Eccellente plugin

Questo plugin è davvero ben fatto. Fa quello che deve fare, senza fronzoli. Se lo avessi fatto io ne sarei certamente orgoglioso! Complimenti al programmatore. Pensato davvero bene. non saprei come migliorarlo, se non avessi problemi economici sicuramente avrei fatto anche una piccola donazione, non escludo per il futuro. 🙂

Stopped Working – No Support

The button on this plugin stopped working. I searched for support, but the designer stated this plugin is a hobby and closed the request for an answer when other users had the same problem. Don’t use it.

Help with basic polls-viewable results

Hello, I was wondering if anyone could give some 101 advice on polls. I am in need of a polling plug in that will do a couple basic things:
1. I want to place same, or different polls on some/all posts. ALSO, I would like the up to date results to appear automatically for all end-users. In other words, viewers do no need to vote, or a click the “SEE RESULTS” button.
2. Is there a plug in that automatically places a poll into any or every new posts that my readers post? Meaning, if an end user creates a post…there is automatically a poll created on the post?
It appears that I can copy and past a short code for the poll on any post that I chose.
But this is done on the back end, by me manually. I also read I could do this by making
the short code a widget. I am guessing this simply means I am making it easier and faster by have a “template” short code in the form of a ready to go widget?
Do I have this correct?
Thank you

Unable to customize

Only Administrator can manage polls.
No option to show results for visitor at voting page. There is only link to results, but this seems quite stupid. Default submit button is white with white text.

Read all 102 reviews

Contributors & Developers

“WP-Polls” is open source software. The following people have contributed to this plugin.


“WP-Polls” has been translated into these 9 locales: Bulgarian, Turkish, Russian, Danish, Arabic, Brazilian Portuguese, Spanish, Dutch, Czech. Thank you to the translators for their contributions.

Translate “WP-Polls” into your language.

Interested in development?

Browse the code or subscribe to the development log by RSS.


  • FIXED: Unable to save input HTML tags for footer templates

Version 2.73.6

  • FIXED: Unable to vote for multiple answers
  • FIXED: input HTML tags being removed when saving templates

Version 2.73.5

  • FIXED: Parsed error in SERVER variable.

Version 2.73.4

  • FIXED: sanitize_key on top of intval.

Version 2.73.3

  • NEW: Added sort by votes casted to poll answers.
  • NEW: For polls with mutiple answers, we divided by total votes instead of total voters. Props @ljxprime.
  • FIXED: Do not display poll option is not respected when poll is closed.
  • FIXED: pollip_qid, pollip_aid, pollip_timestamp are now int(10) in pollsip table.
  • FIXED: pollq_expiry is now int(10) in pollsq table.

Version 2.73.2

  • NEW: Bump WordPress 4.7
  • FIXED: Change cron to hourly instead of twice daily.

Version 2.73.1

Version 2.73

  • NEW: Display Poll Questions at the top of the Poll Logs table
  • FIXED: Remove slashes

Version 2.72

  • NEW: Use translate.wordpress.org to translate the plugin
  • FIXED: SQL Injection fixes. Props Jay Dansand
  • FIXED: Use $wpdb->insert(), $wpdb->update() and $wpdb->delete() as much as possible
  • FIXED Remove poll_archive_show option from UI

Version 2.71

  • FIXED: Use wp_kses_post() to get filter always bad tags

Version 2.70

  • NEW: Add wp_polls_vote_poll_success action hook
  • NEW: Add wp_polls_add_poll, wp_polls_update_poll, wp_polls_delete_poll action hooks
  • FIXED: PHP Notices
  • FIXED: Removed not needed wp_print_scripts
  • FIXED: Use esc_attr() and esc_textarea() instead of htmlspecialchars(). Props Govind Singh