Skip to main content
Agency Program Get 2× more leads and save 50% on hosting. Built for agencies ready to grow. Book a call
WP-Polls icon

WP-Polls

v2.77.3
by Lester Chan · 4.1 (135 reviews)

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

50K+ active installs Updated Jan 18, 2025 Tested to 6.7.2
Try Demo Download
Pre-installed Ready in ~10s No card
WP-Polls

About WP-Polls

WP-Polls is a highly customizable polling plugin for WordPress that allows you to create and customize polls on your website. It supports multiple selection of answers and offers plenty of options for customization. You can find more information about its development on GitHub and the plugin icon was created by Freepik from Flaticon. If you enjoy using the plugin, you can make a donation to support the creator.

Screenshots

WP-Polls screenshot
WP-Polls screenshot
WP-Polls screenshot
WP-Polls screenshot
WP-Polls screenshot
WP-Polls screenshot
WP-Polls screenshot
WP-Polls screenshot
WP-Polls screenshot
WP-Polls screenshot

Frequently asked questions

How customizable is WP-Polls?
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.
Where can I find the development of WP-Polls?
You can find the development of WP-Polls on GitHub. Here is the link: https://github.com/lesterchan/wp-polls
Who created the plugin icon for WP-Polls?
The plugin icon for WP-Polls was created by Freepik from Flaticon.
Is there an option for donations for WP-Polls?
Yes, if you love the WP-Polls plugin and would like to support the creator, you can donate a few bucks. However, there is no obligation to do so.

Changelog

Version 2.77.3

  • FIXED: XSS In poll-logs.php.

Version 2.77.2

  • FIXED: Read from default REMOTE_ADDR unless specified in options

Version 2.77.1

  • FIXED: Support mutex lock for multi-site. Props @yrkmann.

Version 2.77.0

  • NEW: Use mutex lock to prevent race condition.

Version 2.76.0

  • NEW: Supports specifying which header to read the user’s IP from. Props Marc Montpas.

Version 2.75.6

  • NEW: New filter for template variables: wp_polls_template_votebody_variables, wp_polls_template_votefooter, wp_polls_template_resultheader_variables, wp_polls_template_resultbody_variables, wp_polls_template_resultfooter_variables. Props @Liblastic.
  • NEW: composer.json
  • FIXED: Missing space for check_voted_username MySQL query

Version 2.75.5

  • NEW: New filter for templates: wp_polls_template_resultheader_markup, wp_polls_template_resultbody_markup, wp_polls_template_resultbody2_markup, wp_polls_template_resultfooter_markup, wp_polls_template_resultfooter2_markup. Props @Jaska.

Version 2.75.4

  • FIXED: Unable to edit poll because of class-wp-block-parser.php.

Version 2.75.3

  • FIXED: Broken filter for templates
  • FIXED: Divison by 0 by totalvoters
  • FIXED: Add whitelist to sortby poll answers

Versiob 2.75.2

  • FIXED: Missing str_replace for wp_polls_template filter

Version 2.75.1

  • FIXED: Use array() instead of [] as a few users are still on < PHP 5.4. Props @bearlydoug.
  • FIXED: pollq_expiry is now 0 instead of blank string. Props @hpiirainen.

Version 2.75

  • FIXED: Standardize all filters to begin with wp_polls rather than poll
  • NEW: Added wp_polls_ipaddress and wp_polls_hostname to allow user to overwrite it.

Version 2.74.1

  • FIXED: Don’t use PHP 5.4 Short array syntax.
  • FIXED: Division by zero
  • FIXED: Wrong database column type for pollq_expiry

Version 2.74

  • NEW: Hashed IP and anonymize Hostname to make it GDPR compliance
  • NEW: If Do Not Log is set in Poll Options, do not log to DB
  • NEW: Support %POLL_MULTIPLE_ANSWER_PERCENTAGE%. This is total votes divided by total voters.

Version 2.73.8

  • FIXED: Bug fixes and stricter type checking

Version 2.73.7

  • 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

Try other plugins

Really Simple SSL icon

Really Simple SSL

4.9 · 4M+ installs

The easiest way to improve security! Leverage your SSL certificate and protect your website visitors.