This plugin has reached its end of life and should no longer be used. PHP 7 is not supported and support will not be added
If you are using a version less than 1.6.1 you need to update NOW
Version 2.0 is a major rewrite to address the issues of data loss that some users have been experiencing. Surveys are now custom post types and leverage the WordPress post editor. Individual responses are stored as post meta – each response is represented by one row in the post meta table for the survey.
This plugin allows you to create surveys with an easy-to-use form builder, publish surveys with a simple shortcode and view survey results in the admin backend. You maintain control of your data. Automatic form validation is included.
- You maintain ownership of your data – does not rely on third-party services.
- Allows the creation of any number of surveys to collect data from visitors to your site.
- Build your survey forms with the powerful built-in form builder.
- Optionally require login or cookie authentication in order for a user to take the survey.
- Publish your surveys on pages or posts by including a shortcode new or link directly to them.
- Advanced form field validation is included.
- View results of your surveys in the admin area of your WordPress site.
- Extendable through action/filter hooks.
At this time, it is not possible to edit survey questions if the survey has responses. In the future I plan to re-implement this but only so much as to allow for the editing of text – You will not be able to add questions to a survey which has responses. You will not be able to add answers to questions if the survey has respones.
Since the surveys are now custom post types, the actual survey form is saved
as ‘post_content’. This means that if WordPress was in English when you built the survey, but your site wants to be in another language, the English strings will still be output, i.e. ‘Submit Response’ & ‘make a selection…’. Likewise, even if your WordPress site was in your language but you didn’t have the translations available, those strings will be output in English. As a workaround, you can append some parameters to your url e.g. when on the general survey options screen, your url would look like this: “wp-admin/admin.php?page=awesome-surveys.php« add this to the url: “&translate-surveys=true« to force translation of all of your surveys. The translation strings for your language must be present in order for this to work. As another alternative, I would suggest implementing the WordPress ‘
the_content‘ filter to change the strings to whatever you need them to be.
Versions prior to 1.6.1 are potentially vulnerable to malicious attacks – please do not use versions prior to 1.6.1
- Survey form display hasn’t likely been tested with your theme. Styling may break and the form may look horrible. If you experience this, please do contact me with suggestions on how to fix it for your particular theme.
- Cookie authentication for allowing/denying users to take the survey is very easily circumvented. If using cookie based authentication for your surveys, please keep this in mind. You will be far less likely to see “ballot-stuffing« if you are allowing registrations on your site and require the user to login to take the survey.
- Many developer features are unfinished at this time. If you are developing an extension for this plugin or using any of the action/filter hooks included, proceed with caution.
- Uses the PHP Form Builder class which is GPL v3 licensed.
- Uses the jQuery validaiton plugin which is MIT licensed.
- Uses pure css which is licensed under the Yahoo! BSD license
- Uses normalize css which is MIT licensed
To Do List
- Widget to display surveys?
- Ability to add classes to survey form elements and add custom css.
- Ability to export .csv file of the surveys
- Your feature request here.
- Your name could be here make a contribution today! (see the FAQ for suggestions of how you can help with the development)
- Within your WordPress admin area, navigate to “Plugins«.
- Click the “Add New« link near the top of your screen.
- Click the “Upload« link.
- Click the browse button and navigate to wherever you downloaded the zip file to, select the zip file
- Click the “Install Now« button
- Click “Activate Plugin«
- Extract the zip file
- Upload (ftp) the resulting
awesome-survyesfolder to your
- Activate “Awesome Surveys« through the “Plugins« menu in WordPress
- Once activated, your admin menu will have an item labeld “WtWM Plugins«, that item has a submenu item called “Awesome Survyes«, this is where you can configure build your surveys & view their results.
- Rejoice in how amazingly easy it is to create and publish surveys.
- How can I edit a survey?
- Through the WordPress post editor for post type “awesome-surveys«
- How do I delete a survey?
- Surveys are custom post types and deleting is done the same way you delete a post of page
- How do I create a survey?
- This can be done by using the powerful survey form builder in the post editor for post type awesome survey
- How do I publish a survey?
- Navigate to WTWM Plugins -> New Survey and build your survey. Once done, press the publish button. You can also embed your surveys via a simple shortcode that is displayed in the survey builder
- Is there a howto video?
- There was one for an earlier version – this is not current, but the functionality is similar.
- How can I support the development of this plugin?
- The most obvious way is to
- However, there are many other ways that you can contribute.
- By simply rating this plugin you provide me valuable feedback on what is important to the users of this plugin.
- If you find a bug, report it in the support forums.
- If you would like to see more features, let me know.
- Can you provide artwork for the banner or other assets? Please do – I’ll put your name in pixels and will be forever grateful.
- Are you a developer and would like to contribute code to this plugin? Find me on github and send a pull request (which will also result in your name in pixels).
- Tweet about this plugin, write about it on your blog.
- Create translations for this plugin, provide improved help documentation, create a ‘how-to-use’ video.
- Any of the above actions are truly and greatly appreciated!
Contributors & Developers
“Awesome Surveys” is open source software. The following people have contributed to this plugin.Contributors
v2.1 El Valle de Jovel
- Feature Add ability to delete survey responses
- Feature Add custom HTML element to surveys
- Feature Option to add captchas to surveys
- Enhancement On multisite – if survey author does not have ‘unfiltered_html’ capability, generate the form on-the-fly for frontend output.
- Use built in filter when doing shortcode rather than filtering the content in the shortcode callback.
- FIX Single quotes break JSON encode/decoding – hopefully fixed
- Added a “translate« button to the survey options panel – if you have changed your site language since creating a survey, you can use this button to translate the static form existing_elements
3.Results display tweaks
- User Contributed: Added a button to reset default selection for radios/checkboxes
- User Contributed: Added Hungarian translation
- User Contributed: Redirect after survey completion now in the interface with the ability to designate a number of seconds before redirect
- FIX – improper escaping/unescaping
- FIX – in cases where values are escaped when json encoding – unescape those before json decoding
- Duplicate survey functionality was retaining the survey id of the survey that it was duplicated from resulting in less than desirable results. This has been fixed by updating the post content to ensure that the new old survey id is replaced with the new survey id in the form field
- implement/change escaping function used when echoing values into survey builder form
- fire the auth method update action prior to the ‘responses saved’ action
- Don’t process survey response if survey is not published
- Don’t save post meta “existing_elements« if json_decode of same fails
- Block user interface when adding survey questions
- Menu position has more precision in an attempt to avoid clashes
- fix for undefined offset when deciding whether to send email
- decode html entities in outgoing emails
- answer metrics have returned – thanks to github user naimkhalifa
- adds a ‘countdown’ option to textareas
- bugfix for ‘duplicate not working’
- bugfix for ‘required’ textarea was breaking the form editor
- results screen pagination added
- fixed some non-translatable strings
- more information added to the results bar graphs
- CSS color tweaks to the results bar graphs
- yet another bugfix
v2.0 – Yemaya
- Major rewrite
- Surveys are now custom post types
- responses are each stored in post meta individually
- backward compatible to versions < 2.0, i.e. you can migrate older surveys to
the new version and you old shortcodes will still work – authentication methods map back to the old survey ids
- Attempts mitigation of data loss
- Updated jQuery ui css
- bug fix – survey forms with special characters not properly json_decoded resulting in process response giving a bad request message – dev time 1 hour
- IMPORTANT Fixes a security vulernability. UPDATE NOW!!
v1.6 – La Barqueta
- New Feature Send emails on completion of surveys – 6 hours dev time, 0 hours of testing.
wwm_as_admin_script_varsfilter, through which one can change the number of answers available to questions with options (radio, checkbox, select) 15 minutes dev/testing time
- Danish translations provided by WordPress user heinohund
- Important If you use the Awesome Surveys CSV Exporter, please either update it to version 0.4 or de-activate it before updating Awesome Surveys.
- Fixes for results by user
- Enhancement – now requires confirmation when pressing ‘reset survey’
- Now uses WordPress constant SCRIPT_DEBUG for dev/workflow purposes
- Changes how ‘results by user’ works
v1.5 – Las Lajas
- Adds ‘view results by user’ functionality
- German translations added
- Whoops…forgot to load textdomain for translations
- In an earlier version, I was using a closure or anonymous function – Earlier versions of PHP don’t support such nonsense so that didn’t work. Added a function which always returned true without the knowledge of some WordPress functions that accomplish this very thing. This has been updated with that.
- Lots of work done to improve loading of translations and jQuery validation messages since WordPress now uses a setting for ‘WPLANG’ and the constant is no longer used.
- Front end French translations started
- Improved handling of non-English characters in the ‘Survey Results’ tab.
- Bug fix – after re-ordering of questions, the ‘edit question’ & ‘delete question’ buttons would act on the wrong question. Thanks wordpress.org user vexweb for pointing this out.
- Following form submission the browswer window should scroll back to the top of the form – see this thread: https://wordpress.org/support/topic/scroll-back-to-top-on-submit
- Dutch translations added. Thanks wordpress.org user Mariavd for the translations
- bug fix
- Added drag & drop re-ordering of questions. See this video for a quick demonstration.
- Metaboxes for news and ratings
- Attempts to add localized form validation messages if WPLANG is defined and the messages file exists for WPLANG
- Bug fix – ‘Edit Survey’ was actually cloning survey in certain cases.
- New feature: Editing of questions/answers now available during the survey build process
- New feature: Clone a survey
- New feature: If a survey has no responses, it can be loaded into the survey builder and edited – questions can be added, answers can be added to questions
- frontend js/css now gets a version string appended
- There was no good reason to require survey names to be unique, will now allow duplicate names.
- New feature: conditionally edit survey authentication method
- New feature: edit the thank you method
- Added ability to redirect after survey submission (requires an addon)
- Attempts to provide meaningful feedback if survey fails to save
- Added uninstall.php
- Bug fixes
- Changed behaviour of the admin notice – can now be dismissed on a per-user basis
- Code cleanup of external library
- Fixed a bug where if two surveys were present on a page/post only the first one could be submitted
- Further improvments to error handling
- Further clean up of unneeded parts of the included PFBC package
- Cleaner method of including js/css on admin pages implemented
- Added a filter for the admin panel tabs/content – This can now be extended
- Updated the jQuery validation plugin to stable release v1.13.0
- Editing of Survey Name, Questions and Options/Answers now available by clicking a link
- Surveys can now be deleted
- Option to not load included CSS has been added
- Removed heaps of unnecessary files from the included PFBC package
- Bug fix in call to wp_list_pluck (invalid argument supplied for foreach)
- Addresses the report of the “spinner« failing to go away in certain instances when the survey form is submitted
- Attempts to provide something resembling useful feedback if the survey submission AJAX request fails
- Bug fix on frontend output.
- Bug fix for bad ‘maxlength’ validation values on text boxes and textareas.
- This bug fix wouldn’t have been possible without your bug reports. The users of this plugin ROCK!
- Even with the bugs, it worked better than healthcare.gov
- minor frontend styling changes
- Initial Public Release