Skip to content

TriiiTechnologiesLLC/polled

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

WordPress Poll Plugin

Version License WordPress

WordPress Poll Plugin is a lightweight, customizable solution for creating and managing polls within your WordPress site. It features real-time results, IP-based voting protection, and flexible settings to control how your users interact with your surveys.

✨ Features

  • Custom Post Type: Polls are stored as native WordPress posts (poll), making them easy to manage, publish, and categorize.
  • Real-time Results: AJAX-powered voting updates results instantly without reloading the page.
  • Security & Rate Limiting:
    • IP address tracking to prevent duplicate voting.
    • Proxy detection (X-Real-IP, X-Forwarded-For).
    • CSRF protection via Nonces.
  • Flexible Settings:
    • Allow multiple votes per user/IP.
    • Option to hide results until the user has voted.
    • Anonymous voting support.
    • Configurable vote limits per IP.
  • Shortcodes: Easy embedding of polls in pages and posts.
  • Clean Database: Dedicated tables for polls, votes, and rate limiting.
  • Uninstall Clean: Completely removes all plugin data tables upon deletion.

🚀 Installation

  1. Download the plugin and upload it to the /wp-content/plugins/ directory, or install it directly from your WordPress plugins screen.
  2. Activate the plugin through the 'Plugins' menu in WordPress.
  3. Navigate to 'Polls' in the admin sidebar to create your first poll.
  4. Optionally, configure global settings under 'Polls' > 'Settings'.

📖 Usage

Creating a Poll

  1. Go to Polls > Add New.
  2. Enter the Question in the title field.
  3. In the Poll Options meta box, enter your answer choices (one per line/box).
  4. Click Add Option to add more choices.
  5. Publish the poll.

Embedding a Poll

Copy the shortcode below into any page or post where you want the poll to appear.

[wp_poll id="POST_ID"]

Replace POST_ID with the ID of the published Poll post.

Displaying Results Only

If you want to show only the results of a poll without the voting form:

[wp_poll_results id="POST_ID"]

⚙️ Configuration

Navigate to Polls > Settings in your WordPress dashboard to manage global behavior:

Setting Description
Allow Multiple Votes Check to enable users to vote more than once (if other limits allow).
Hide Results Until Voting Users must vote before they can see the percentage breakdown.
Allow Anonymous Voting Users can vote without being logged in (IP tracking applies).
Votes per IP Set the maximum number of votes allowed from a single IP address.

🔒 Security Notes

  • Database Tables: The plugin creates custom database tables on activation (wp_polls, wp_poll_votes, wp_poll_rate_limit).
  • IP Validation: The plugin attempts to detect the real client IP even when behind proxies or load balancers using X-Real-IP, X-Forwarded-For, and Client-IP headers.
  • Data Cleanup: When the plugin is deleted via the WordPress interface, the custom database tables are automatically dropped to ensure no data residue remains.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

📄 License

This project is licensed under the GPL v2 or later - see the LICENSE file for details.

🏢 Author

Developed by Triii Technologies LLC.


Version: 1.1.7
Requires PHP: 5.6 or higher
Requires WP: 4.7 or higher

About

a wordpress voting / poll plugin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages