Plugin Directory


Adds an AJAX poll system to your WordPress blog. You can also easily add a poll into your WordPress's blog post/page.

Version 2.69

  • NEW: Make use of wp_add_inline_style. Props @pathawks.
  • NEW: Create 2 filters for secret ballot. Props @afragen.
  • FIXED: Added new index to wp_pollsip. Props ArtemR.
  • FIXED: Integration with WP-Stats
  • FIXED: Proper IP checking

Version 2.68

  • NEW: Poll answer percentage are now not rounded off, previously it was always rounded to add up to 100%
  • NEW: Support WordPress MultiSite Network Activation
  • NEW: Uses native WordPress uninstall.php
  • NEW: Show shortcode in success message after creating a poll
  • NEW: Checks and ensure that Poll Question and Poll Answers are not empty
  • NEW: Checks whether Poll is closed before checking whether user has voted

Version 2.67

  • NEW: Use POST for View Results and Vote link
  • FIXED: Added ?v=VERSION_NUMBER to the plugin TinyMCE JS because it is breaking a lot of editors due to cache issue
  • FIXED: Added backward compatibility with [poll=1] in order not to break older polls

Version 2.66

  • FIXED: Notices from polls_archive function. Props. @prettyboymp.
  • FIXED: Ajax request in parallel with animation. Props @nodecode.
  • FIXED: Editor button was outputting the wrong shortcode.
  • FIXED: ReferenceError: pollsEdL10n is not defined if TinyMCE 4.0 is loaded outside the Add/Edit Posts/Pages.

Version 2.65

  • NEW: Use Dashicons
  • NEW: Supports TinyMCE 4.0 For WordPress 3.9
  • NEW: Added Poll ID after adding it
  • FIXED: Use http://ipinfo.io instead of http://ws.arin.net to get check IP information.
  • FIXED: Wrapped all JS function in jQuery.ready(). It is ugly, but it will do till I have time to rewrite it.
  • FIXED: Add INDEX for wp_pollsip: pollip_ip_qid (pollip_ip, pollip_qid) to prevent full table scan. Thanks archon810 from AndroidPolice.

Version 2.64

  • NEW: Add in various filters in the plugin. Props Machiel.
  • FIXED: Deveral undefined variable / undefined index notices. Props Machiel.

Version 2.63 (21-05-2012)

  • Move AJAX Request to wp-admin/admin-ajax.php
  • Added nonce To AJAX Calls
  • FIXED: PHP Notices/add_options() Deprecated Arguments (Dewey Bushaw)

Version 2.62 (31-08-2011)

  • FIXED: Escaped Hostname. Thanks to Renaud Feil (Renaud Feil)
  • FIXED: Ensure Poll ID In Shortcode Is An Integer. Thanks to Renaud Feil (Renaud Feil)

Version 2.61 (14-02-2011)

  • FIXED: XSS Vulnerability. Thanks to Dweeks, Leon Juranic and Chad Lavoie of the Swiftwill Security Team Inc (http://www.swiftwill.com)

Version 2.60 (01-12-2009)

  • NEW: Uses WordPress nonce Throughout
  • NEW: Display 2,000 Records In Poll Logs Instead Of 100

Version 2.50 (01-06-2009)

  • NEW: Works For WordPress 2.8 Only
  • NEW: Javascript Now Placed At The Footer
  • NEW: Uses jQuery Instead Of tw-sack
  • NEW: Minified Javascript Instead Of Packed Javascript
  • NEW: Renamed polls-admin-js-packed.js To polls-admin-js.js
  • NEW: Renamed polls-admin-js.js To polls-admin-js.dev.js
  • NEW: Renamed polls-js-packed.js To polls-js.js
  • NEW: Renamed polls-js.js To polls-js.dev.js
  • NEW: Translate Javascript Variables Using wp_localize_script()
  • NEW: Add "Add Poll" To WordPress Favourite Actions
  • NEW: Minified plugin.js And Added Non-Minified plugin.min.js
  • NEW: Able To Remove Individual Answers When Adding Or Editing A Poll
  • NEW: Use _n() Instead Of __ngettext() And _n_noop() Instead Of __ngettext_noop()
  • NEW: Uses New Widget Class From WordPress
  • NEW: Merge Widget Code To wp-polls.php And Remove wp-polls-widget.php
  • FIXED: Uses $_SERVER['PHP_SELF'] With plugin_basename(FILE) Instead Of Just $_SERVER['REQUEST_URI']
  • FIXED: Ensure That Percentage Always Add Up To 100%
  • FIXED: More Efficient WP-Polls Archive
  • FIXED: Logged By Username Now Shows Poll Results To Users Who Did Not Login

Version 2.40 (12-12-2008)

  • NEW: Works For WordPress 2.7 Only
  • NEW: Load Admin JS And CSS Only In WP-Polls Admin Pages
  • NEW: Added polls-admin-css.css For WP-Polls Admin CSS Styles
  • NEW: Right To Left Language Support by Kambiz R. Khojasteh
  • NEW: Added "polls-css-rtl.css" by Kambiz R. Khojasteh
  • NEW: Applied Output Of polls_archive() To "polls_archive" Filter by Kambiz R. Khojasteh
  • NEW: Added Call To polls_textdomain() In create_poll_table() and vote_poll() functions by Kambiz R. Khojasteh
  • NEW: Uses wp_register_style(), wp_print_styles(), plugins_url() And site_url()
  • NEW: [poll id="-2"] or Will Randomize The Poll
  • FIXED: SSL Support
  • FIXED: Moved Call To update_pollbar() From onblur To onclick Event. It Was Showing The Last Selection Instead Of Current One by Kambiz R. Khojasteh

Version 2.31 (16-07-2008)

  • NEW: Works For WordPress 2.6
  • NEW: Better Translation Using __ngetext() by Anna Ozeritskaya
  • FIXED: MYSQL Charset Issue Should Be Solved

Version 2.30 (01-06-2008)

  • NEW: Works For WordPress 2.5 Only
  • NEW: Added Paging Header And Footer Template For Polls Archive Page
  • NEW: Uses WP-PageNavi Style Paging For Polls Archive Page
  • NEW: WP-Polls Will Load 'polls-css.css' Inside Your Theme Directory If It Exists. If Not, It Will Just Load The Default 'polls-css.css' By WP-Polls
  • NEW: Uses Shortcode API
  • NEW: When Inserting Poll Into Post, It is Now [poll id="1"], Where 1 Is Your Poll ID
  • NEW: When User Does Not Have Permission To Vote, The Voting Form Is Now Disabled Instead Of Showing Poll's Result
  • NEW: Added A New Action Called "Display Disabled Poll's Voting Form" To Action Taken When A Poll Is Closed
  • NEW: Updated WP-Polls TinyMCE Plugin To Work With TinyMCE 3.0
  • NEW: Add Time Expiry For Cookie/Log
  • NEW: Removed polls-usage.php
  • NEW: Removed "Fade Anything Technique" In Polls Admin
  • NEW: Uses /wp-polls/ Folder Instead Of /polls/
  • NEW: Uses wp-polls.php Instead Of polls.php
  • NEW: Uses wp-polls-widget.php Instead Of polls-widget.php
  • NEW: Use number_format_i18n() Instead
  • NEW: Renamed polls-admin-js.php To polls-admin-js.js and Move The Dynamic Javascript Variables To The PHP Pages
  • NEW: Renamed polls-js.php To polls-js.js and Move The Dynamic Javascript Variables To The PHP Pages
  • NEW: Uses polls-js-packed.js And polls-admin-js-packed.js
  • FIXED: Unable To Delete Poll Or Poll Answers If There Is Quotes Within The Poll Or Poll Answer
  • FIXED: number_format() Not Used In Polls Archive
  • FIXED: Unable To Schedule Future Poll If The Year Is Different From Current Year
  • FIXED: TinyMCE Tool Tip For Insert Poll Not Translated
  • FIXED: Content-Type Not Being Sent Back When AJAX Return Results

Version 2.21 (01-10-2007)

  • NEW: Works For WordPress 2.3 Only
  • NEW: Added Quick Tag For Poll To Visual (TinyMCE) / Code Editor
  • NEW: New CSS Style For WP-Polls Archive (.wp-polls-archive)
  • NEW: Uses WP-Stats Filter To Add Stats Into WP-Stats Page
  • NEW: Ability To Add Polls To Excerpt
  • NEW: Added "Random Order" For Sorting Poll's Answers And Poll's Result Answers
  • FIXED: Language Problem By Setting Database Table To UTF8
  • FIXED: Some Text Not Translated In Polls Widget
  • FIXED: 2 Wrong Options Name In Polls Uninstall
  • FIXED: Some Translation Bug in polls-usage.php

Version 2.20 (01-06-2007)

  • NEW: Poll Archive Link, Individual Poll Header And Footer In Poll Archive Template
  • NEW: Poll Templates Has Now Its Own Page 'WP-Admin -> Polls -> Poll Templates'
  • NEW: Poll Widget Can Now Display Multiple Polls
  • NEW: Ability To Allow User To Select More Than 1 Poll Answer
  • NEW: Added AJAX Style Option: "Show Loading Image With Text"
  • NEW: Added AJAX Style Option: "Show Fading In And Fading Out Of Polls"
  • NEW: Major Changes To The Administration Panel For WP-Polls
  • NEW: AJAX Added To The Administration Panel For WP-Polls
  • NEW: Default Poll's Result Template Will Now Show Number Of Votes Beside The Percentage
  • NEW: Term "Total Votes" Changed To "Total Voters"
  • NEW: Removed Polls From Feed If The Poll Is Embedded Into The Post Using [poll=ID]
  • NEW: Filtering Of Individual Poll Logs
  • FIXED: Poll Archive Will Now Show Only Polls Results

Version 2.14 (01-02-2007)

  • NEW: Works For WordPress 2.1 Only
  • NEW: Renamed polls-js.js to polls-js.php To Enable PHP Parsing
  • NEW: Ability To Make A Poll Expire
  • NEW: Ability To Make A Future Poll
  • NEW: Future Poll Will Automatically Open When The Poll's Date Is Reached
  • NEW: Expired Poll Will Automatically Closed When The Poll's Date Is Reached
  • NEW: Ablity To Choose What To Do When The Poll Is Closed (Display Result, Remove Poll From Sidebar)
  • FIXED: Future Dated Polls Will Not Appear In The Post/Sidebar/Polls Archive

Version 2.13 (02-01-2007)

  • NEW: polls.php Now Handles The AJAX Processing Instead Of index.php
  • NEW: Able To Modify The Style Of Poll Results Bar in 'Polls -> Poll Option'
  • NEW: Usage Instructions Is Also Included Within The Plugin Itself
  • NEW: Uninstaller Done By Philippe Corbes
  • NEW: Localization Done By Ravan
  • NEW: Ability To Add HTML Into Poll Question and Answers
  • FIXED: AJAX Not Working On Servers Running On PHP CGI
  • FIXED: Added Some Default Styles To polls-css.css To Ensure That WP-Polls Does Not Break
  • FIXED: Other Languages Not Appearing Properly
  • FIXED: Poll IP Logs Of Deleted Poll's Answer Did Not Get Deleted
  • FIXED: There Is An Error In Voting If There Is Only 1 Poll's Answer

Version 2.12 (01-10-2006)

  • NEW: Polls Archive Is Now Embedded Into A Page, And Hence No More Integrating Of Polls Archive
  • NEW: WP-Polls Is Now Using DIV To Display The Poll's Results Instead Of The Image Bar
  • NEW: Added Widget Title Option To WP-Polls Widget
  • NEW: Ability To Logged By UserName
  • NEW: Added CSS Class 'wp-polls-image' To All IMG Tags
  • FIXED: If Site URL Doesn't Match WP Option's Site URL, WP-Polls Will Not Work

Version 2.11 (08-06-2006)

  • NEW: You Can Now Place The Poll On The Sidebar As A Widget
  • NEW: Moved wp-polls.php To wp-content/plugins/polls/ Folder
  • FIXED: AJAX Not Working In Opera Browser
  • FIXED: Poll Not Working On Physical Pages That Is Integrated Into WordPress

Version 2.1 (01-06-2006)

  • NEW: Poll Is Now Using AJAX
  • NEW: Ability To Close/Open Poll
  • NEW: Added Poll Option For Logging Method
  • NEW: Added Poll Option For Who Can Vote
  • NEW: Added Poll Results Footer Template Variable (Used When User Click "View Results")
  • NEW: Added The Ability To Delete All Poll Logs Or Logs From A Specific Poll
  • NEW: Poll Administration Panel And The Code That WP-Polls Generated Is XHTML 1.0 Transitional

Version 2.06b (26-04-2006)

  • FIXED: Bug In vote_poll();

Version 2.06a (02-04-2006)

  • FIXED: Random Poll Not Working Correctly

Version 2.06 (01-04-2006)

  • NEW: Poll Bar Is Slightly Nicer
  • NEW: Got Rid Of Tables, Now Using List
  • NEW: Added In Most Voted And Least Voted Answer/Votes/Percentage For Individual Poll As Template Variables
  • NEW: Display Random Poll Option Under Poll -> Poll Options -> Current Poll
  • FIXED: Totally Removed Tables In wp-polls.php

Version 2.05 (01-03-2006)

  • NEW: Improved On 'manage_polls' Capabilities
  • NEW: Neater Structure
  • NEW: No More Install/Upgrade File, It Will Install/Upgrade When You Activate The Plugin
  • NEW: Added Poll Stats Function

Version 2.04 (01-02-2006)

  • NEW: Added 'manage_polls' Capabilities To Administrator Role
  • NEW: [poll=POLL_ID] Tag To Insert Poll Into A Post
  • NEW: Ability To Edit Poll's Timestamp
  • NEW: Ability To Edit Individual Poll's Answer Votes
  • NEW: %POLL_RESULT_URL% To Display Poll's Result URL
  • FIXED: Cannot Sent Header Error

Version 2.03 (01-01-2006)

  • NEW: Compatible With WordPress 2.0 Only
  • NEW: Poll Administration Menu Added Automatically Upon Activating The Plugin
  • NEW: Removed Add Poll Link From The Administration Menu
  • NEW: GPL License Added
  • NEW: Page Title Added To wp-polls.php

Version 2.02a (17-11-2005)

  • FIXED: poll-install.php And poll-upgrade.php will Now Be Installed/Upgraded To 2.02 Instead Of 2.01

Version 2.02 (05-11-2005)

  • FIXED: Showing 0 Vote On Poll Edit Page
  • FIXED: Null Vote Being Counted As A Vote
  • FIXED: Auto Loading Of Poll Option: Polls Per Page In Poll Archive Page Is Now "No"
  • NEW: Host Column In Poll IP Table To Prevent Network Lagging When Resolving IP
  • NEW: New Poll Error Template

Version 2.01 (25-10-2005)

  • FIXED: Upgrade Script To Insert Lastest Poll ID Of User's Current Polls, Instead Of Poll ID 1
  • FIXED: Replace All <?### With <?php
  • FIXED: Added addalshes() To $pollip_user
  • FIXED: Better Localization Support (80% Done, Will Leave It In The Mean Time)

Version 2.0 (20-10-2005)

  • NEW: IP Logging
  • NEW: Poll Options: Sorting Of Answers In Voting Form
  • NEW: Poll Options: Sorting Of Answers In Results View
  • NEW: Poll Options: Number Of Polls Per Page In Poll Archive
  • NEW: Poll Options: Choose Poll To Display On Index Page
  • NEW: Poll Options: Able To Disable Poll With Custom Message
  • NEW: Poll Options: Poll Templates
  • NEW: Display User's Voted Choice
  • FIXED: Better Install/Upgrade Script

Requires: 3.9 or higher
Compatible up to: 4.2.3
Last Updated: 2015-4-21
Active Installs: 100,000+


4.1 out of 5 stars


36 of 38 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 67,6,4
57,21,12 100,1,1
100,1,1 58,48,28 100,1,1 100,1,1
63,24,15 100,1,1
59,32,19 83,12,10
60,5,3 100,1,1
0,1,0 100,12,12
100,1,1 43,7,3 90,31,28
67,15,10 0,1,0
0,1,0 67,3,2
50,6,3 100,1,1
64,22,14 92,39,36 100,1,1
69,52,36 100,1,1
62,13,8 77,13,10
0,1,0 100,1,1 0,1,0
0,1,0 90,10,9 0,1,0
100,3,3 100,2,2
100,4,4 0,1,0
0,1,0 100,1,1
100,2,2 50,6,3
33,3,1 100,1,1
0,1,0 100,3,3
0,1,0 100,1,1 100,1,1
86,7,6 100,1,1