Plugin Directory

Google Forms

Embeds a published, public Google Form in a WordPress post, page, or widget.

Version 0.87

  • Added check upon Save to make sure Google Form contains expected HTML structure. Error displayed when HTML is not as expected (e.g. with the new version of Google Forms).
  • Change of error type when content cannot be retrieved from plugin repository.

Version 0.86

  • Retagged to correct version number.

Version 0.85

  • Development moved to GitHub.
  • Replaced call to deprecated function mysql_real_escape_string().
  • Fixed security issues with _REQUEST flagged by WordPress.org.

Version 0.84

  • Retagged to correct version number.

Version 0.83

  • Added ability to suppopress columnization of a form when the browser is smaller than some user specified width.
  • Fixed bug with Google Default Text override which prevented form specific overrides from working correctly.

Version 0.82

  • Fixed bug with Google default text always being displayed regardless of global or form specific setting. This caused some buttons to always appear in English.
  • Added additional debug information to examine wp_remote_post() parameters.

Version 0.81

  • Removed leftover debug code which generated output into the error log.

Version 0.80

  • Resolved a number of PHP Strict Standard notices resulting from calling non-static functions statically.

Version 0.79

  • Bug fix for required email validation field with optional message.
  • Added user-agent argument to HTTP API remote get and post requests, allows Google to return HTML5 inputs for browsers which support it (with some limitations).

Version 0.78

  • Bug fix for required validation field with spaces in the optional message.

Version 0.77

  • Minor fixes to eliminate PHP warnings when using deprecated gform shortcode.
  • Fixed bug with CSS prefix and suffix not being added to CSS classes.

Version 0.76

  • Retagged to correct version number.

Version 0.75

  • Added new setting to turn off HTML filtering which has been used to "clean" the HTML retrieved from Google.

Version 0.74

  • More Debugging messages sent to PHP error log removed.

Version 0.73

  • Debugging messages sent to PHP error log removed.

Version 0.73

  • Added support for form specific button override text.
  • Updated jQuery Validate to 1.13.1.
  • Re-worked Javascript loading so only loaded when needed.
  • Fixed jQuery Script loading problem on Dashboard - script loaded for all Dashboard pages instead of just the Google Form editing page.
  • Add jQuery to map the "Submit another resonse" URL to the proper WordPress URL.
  • Fixed bug jQuery script where "Other" label text was not properly selected resulting in duplicate text. Appears to be due to change in Google generated HTML.
  • Added support for multiple email addresses, separated by semicolon, for email notification.
  • Added support for Right to Left column ordering in multi-column forms. Useful for right-to-left languages such as Hebrew.

Version 0.72

  • Fixed call to non-existant function is_empty(), should be calling empty().

Version 0.71

  • Bumped version number due to mistagging v0.70 release.

Version 0.70

  • Added Serbo Croation translation (thank you Borisa Djuraskovic / http://www.webhostinghub.com)
  • Added support for Regular Expression validation check. Regular expressions can be tricky, YMMV!
  • Fixed a bug which occurs when the Send Email option is enabled but the Send To address isn't specified (should default to admin email).

Version 0.69

  • Fixed bug in generated jQuery for Validation which caused syntax errors which could then interfere with redirect.
  • Added support for embedded images in Google Forms.

Version 0.68

  • Fixed a bug due to missing named parameter passed to wp_update_post() which manifested itself in a call to array_map() as part of core WordPress function.

Version 0.67

  • Fixed typo in internationalization mapping for one of the form buttons.
  • Removed leftover debug code.

Version 0.66

  • Moved hygiene out of init hook into admin_init hook so it won't run on every page load. Resolves conflict with WordPress SEO.
  • Fixed hygiene to only update post content when it isn't what is expected.
  • Fixed bug which caused all form submissions to be logged regardless of plugin setting.

Version 0.65

  • Implemented "save_post" for custom post type eliminating general purpose "save_post" (only option prior to WordPress 3.7) action which could potentially, if not handled correctly by another plugin, corrupt post data.
  • Formally deprecated the gform shortcode by updating README file.
  • Added flush of rewrite rules upon plugin activation and deactivation.
  • Implemented protocol relative URLs for loading jQuery script from Microsoft CDN to avoid mixed-content warnings when serving over https.
  • Fixed layout of CAPTCHA options on settings page.
  • Fixed bug with preset values as part of the URL which contain spaces.
  • Fixed bug sending End User email upon form submission.
  • Refactored construction of email headers based on experience with Email Users plugin.

Version 0.64

  • Fixed a number of strings which were missing translation wrapper functions.
  • Reverted to manually constructed body parameter for wp_remote_post() to allow checkboxes to be properly passed to Google.
  • Fixed warnings generated by calls to static functions which were not declared static.
  • Added check for HTTP API cURL transport and issue a warning when not present. There was a change between WordPress 3.6.1 and 3.7 to the WordPress HTTP API and the streams and fsockopen transports are unable to post form values back to Google using wp_remote_post().
  • Added a setting to allow hiding the cURL transport missing message on the Dashboard.
  • Added a check to ensure jQuery script isn't output more than once.
  • Remove hook into "the_content" to reduce potential conflicts with other plugins (e.g. WordPress SEO plugin by Yoast).
  • Added placeholders for some of the form fields when defining a Form within the UI.

Version 0.63

  • Refactored code to which assembles arguments for wp_remote_post() to construct the body argument as an array as opposed to a URL formatted string of concatenated parameters. The long string was causing problems with newer versions of PHP. The array of arguments is much cleaner (thanks to David Högborg for providing the basics of a patch).

Version 0.62

  • Failed to update stable release tag preventing v0.61 from rolling out.

Version 0.61

  • Fixed some default CSS rules which were incorrect.
  • Added support for multiple instances of the same form on a single page.

Version 0.60

  • Beta reference removed from version string.

Version 0.59

  • Added ability to preset values for Google form as part of WordPress URL.
  • Added new CSS declarations to default plugin CSS to account for recent changes by Google to Forms.
  • Added ability to define fields as "hidden" and preset with a user defined or system defined value.
  • Fixed validation limitation which only allowed one validation rule per input.
  • Added basic support (CSS, jQuery) to use WordPress Google Form to view a Google Spreadsheet within WordPress.

Version 0.58

  • Fixed bug when radio button and checkbox responses contained apostrophe characters.
  • Fixed bug when text entry box content contained an ampersand which ended up encoded in the Google sheet.
  • Fixed bug(s) with plugin settings which are controlled with checkboxes not being able to be unchecked.
  • Added Reset button to return plugin settings to their default state.
  • Fixed problem handling newlines (carriage returns) in textarea entries.

Version 0.57

  • Added ability to translate "What is" Captcha phrase.
  • Updated language translation files.

Version 0.56

  • Incorporated es_ES language support from TBD.
  • Incpororated Transient support patch from TBD.
  • Added support for UTF-8 characters in Google Forms.
  • Resolved bug with embedded tabs in form response values.
  • Improved handling of default settings for new form creation.
  • Added multi-site support for Transients.
  • Added support for the placeholder attribute on input tags.

Version 0.55

Incporated a patch version of jQuery Columnizer to fix problem which appears in WordPress 3.6 which includes jQuery 1.10.

Version 0.54

  • Added internationalization support for jQuery Validation messages.
  • New language support files.
  • New jQuery Validation based custom validation option.
  • Fixed problem with escaped characters ending up in Google spreadsheet.
  • Moved transport control out of debug module and into core code so it can be a permanent setting for some server environments.
  • Fixed PHP warning messages which happen with Logging Enabled when some of the server variables don't exist.
  • Fixed bug with Form Submission Log setting stickiness.
  • Added an optional CAPTCHA message which will appear below the CAPTCHA input when set.

Version 0.53

  • Added CSS rule to hide Google's new Edit Link "feature".
  • Added support for link (A) elements with class attributes when call wp_kses().
  • Added CSS rule to suppress redudant information on Scale widgets.

Version 0.52

  • Fixed typos on Options page.
  • Fixed long standing bug with Default Options sometimes not initializing or saving correctly.

Version 0.51

  • Added FAQ content for common questions.
  • Updated CSS information to account for CSS changes in new Google Forms.

Version 0.50

  • Fixed jQuery syntax error which happens when validation is on but CAPTCHA and Email User is off.
  • Added new CSS to hide the "Never submit passwords through Google Forms." message by default.

Version 0.49

  • Inadvertently made help text invisible with CSS, updated default CSS accordingly.

Version 0.48

  • Fixed a Javascript error which occurs when using Google Default text overrides AND the form didn't have an "Other" radio button choice.

Version 0.47

  • Fixed jQuery syntax errors introduced in certain combinations of form options which resulted in the confirmation page not working.

Version 0.46

  • Added support for columns! New columns='N' short code attribute will split the form into columns.
  • Fixed CSS for input fields so buttons are not 300px wide by default.
  • Began process of deprecating "gform" prefix which will be replaced with "wpgform" prefix for CSS classes.
  • Moved CAPTCHA (when in use) from below the submit button to above the submit button.
  • Added WordPress Google Form Custom Post Type.
  • Added new shortcode wpgform to support WordPress Google Form CPT.
  • Added error checking on wp_remote_post() to prevent confirmation page redirect when data wasn't actually posted successfully.
  • Added support for optional end user email field on forms. When enabled, the user email is required and must be valid. This feature is only available from the Google Forms CPT editor.
  • Migrated scraping of WordPress Plugin Repository content from wp_remote_get() and HTML parsing to use WordPress Plugin API eliminating potential problems with preg_match_all() which was prone to crashing on some installations.
  • Fixed jQuery syntax error in validation selector which caused CAPTCA jQuery not to run on some browsers (e.g. Chrome).
  • Added URL of page where form was submitted from to confirmation email.
  • Added support for logging form submissions as post meta data.
  • Fixed problems with multi-page Google forms introduced with re-design of Google Forms.
  • Added support for overriding the default Google Button and Required text. This is useful when Google servers think the form should be rendered in a language that isn't the same as the rest of the form (e.g. Chinese).
  • Rearranged Options page to support new options. Debug tab is now Advanced Options.
  • Fixed CAPCHA bug when validation wasn't specifically enabled. CAPTCHA requires validation.
  • Added default CSS to suppress new Google Forms footer disclaimer.
  • Added more overrides for Google Default text (Hints for Radio Buttons and Check Boxes, the Other option for Radio Buttons).
  • Fixed a bug which lost current state of Override Settings which disabled overrides.
  • Added support for CAPTCHA operators (+, -, *)
  • Added support for three (3) CAPTCHA terms
  • Fixed Pagination bug when viewing the form submission log.
  • Re-arranged Options tabs so most common options are the Options tab, less common on the Advanced tab.
  • Added support for rendering forms on public CPT URLs.
  • Fixed odd Javascript syntax error which is only an issue with IE7.

Version 0.45

  • Updated load of jQuery UI Tabs CSS to latest version.
  • Moved generated jQuery script from part of the form to the WordPress wp_footer action.

Version 0.44

  • Fixed bug preventing options which are enabled by default from being turned off.

Version 0.43

  • Reimplemented shortcode attribute br='on' usinq jQuery instead of preg_replace().
  • Reimplemented shortcode attribute legal='off' usinq jQuery instead of preg_replace().
  • Fixed DEBUG mode so it will work with PHP 5.2 (which doesn't support anonymous functions).
  • Fixed CSS prefix bugs which prevented CSS prefix from being applied to all Google CSS classes.

Version 0.42

  • Fixed typos in ReadMe file.

Version 0.41

  • Added simple math based CAPTCHA support.
  • Reintroduced jQuery Validation for checking required fields.
  • Improved support for multiple forms on one page.
  • Fixed several bugs where CSS prefix, when used, was not output in some places.
  • Moved Debug control to their own tab on the settings page.
  • Added new Debug options to facilicate chasing down HTTP API issues.
  • Fixed bug where the CSS prefix, when used, was not being applied properly to elements which had more than one class. Only the first class was properly prefixed.

Version 0.40

  • Removed leftover debug code. Again. :-(

Version 0.39

  • Added new attribute *unitedthemehack='on|off', which defaults to 'off'. This attribute allows WordPress Google Form to work correctly with Paralleus' Unite theme (which mucks with the submit button(s) on the Google Form preventing the form from being submitted).

Version 0.38

  • Removed debug code left in from working on problem fixed in v0.36.

Version 0.37

  • Fixed inacuracies in ReadMe.txt file which caused repository not to show available update.

Version 0.36

  • Fixed a bug which appears when the Browser Check option is enabled. There was a conflict in the server response from Google and the server response from WordPress due to overwriting a variable.
  • Fixed format of plain text email response when email is enabled for form submission. The information in the email was being inserted into the template incorrectly.

Version 0.35

  • Changed format of email to use the title of the page/post instead of the permalink to the form.
  • Added new shortcode attribute spreadsheet. The value spreadsheet attribute is a full URL to a shared Google Docs Spreadsheet which contains the responses to the form. A link to the Spreadsheet is included in the email notification when enabled.

Version 0.34

  • Fixed syntax error which caused plugin to fail. Whoops.

Version 0.33

  • Fixed inacuracies in ReadMe.txt file.

Version 0.32

  • New option to control Bcc to blog admin when using email notification. By default this option is enabled to allow plugin to behave as it has in prior versions.
  • Fixed bug in processing default plugin settings which are on by default. New options which are on by default were not recognized.
  • Fixed activation bug which didn't set all of the default settings correctly.

Version 0.31

  • Separation of rendering and processing of the Google Form to better work with sites that make multiple calls to do_shortcode().
  • Added a new option to enable "debug". Enabling debug will add some hidden information to the page. The visibility of this hidden information can be toggled on an off using a link which is inserted into the page above form. This debug information is useful for chasing down odd behavior, in particular 403 errors which tend not to be real obvious.
  • Significant change to better support servers which have Apache ModSecurity enabled. Sites which employ ModSecurity may result in 403 errors which are hard to determine because in most cases, the page with the form on it will simply be displayed again. The plugin now tries to detect 403 errors and when found, will issue a message as part of the form rendering.

Version 0.30

  • Changed generated CSS to limit the possibility that it is affected by 'the_content' or 'wpautop' filters resulting in CSS errors. This rare situation would prevent the custom CSS from being applied correctly.

Version 0.29

  • Added ability to specify email address when email='on' attribute is in use via new attribute 'sendto'.
  • Changed generated Javascript to limit the possibility that it is affected by 'the_content' or 'wpautop' filters resulting in Javascript errors. This rare situation would prevent the page confirmation or redirection from loading correctly.

Version 0.28

  • Fixed bug with missing GetPageURL method which appears when email confirmation is enabled (email='on').

Version 0.27

  • Added ability to check and warn for old and/or unsupported browsers. There is an option on the WordPress Google Form settings page to enable this check. When an old or unsupported browser is detected, a message will be displayed on top of the form. The browser check is based on the same functionality that WordPress uses on the Dashboard.
  • Changed default custom confirmation behaviour has reverted back to using a javascript redirect as it did from v0.11 through v0.25.
  • Added new shortcode attribute, style, to control how confirmation pages should be handled. There are two options: style='redirect' which is the default and style='ajax' which loads the page content via AJAX.
  • Added new CSS classes to support errors and warnings for the browser check and the inability to load Google Forms.
  • Cleaned up Options page GUI.

Version 0.26

  • Added new shortcode attribute email='on|off', the default setting is 'off'.
  • Changed confirmation page from a hard redirect to an AJAX page load.
  • Added new email format choice on the Options page, default is HTML.
  • Cleaned up some dead code and comments.

Version 0.25

  • Fixed problem with checkbox processing when using the prefix attribute.
  • Fixed problem with hiding legal links when using the prefix attribute.
  • Fixed problem with legal='off' attribute not being processed correctly.

Version 0.24

  • Fixed minor typos and other assorted nits.

Version 0.23

  • Fixed problem with UTF-8 characters not being passed through the form correctly.

Version 0.23

  • Fixed problem where CSS declarations were emitted as plain text when they shouldn't be.

Version 0.22

  • Fixed bug with checkboxes not working because jQuery wasn't loaded.

Version 0.21

  • Added ability to display a Javascript alert box upon successful form submission.
  • Fixed more syntax errors in the ReadMe.txt markdown.

Version 0.20

  • More documentation cleanup.

Version 0.19

  • Documentation updates in the READMME.txt file.
  • Update information on About Tab to reflect new architecture.

Version 0.18

  • Fixed version numbering so the WordPress repository would work!

Version 0.17

  • Fixed regular expression bug which prevented complex Google Forms from working correctly. Any form which had more than 9 fields or had enough edits such that the form ids contained more than one digit which have been affected by this bug.

Version 0.16

  • Fixed bug with select input tags. Selected value was not being retained on a multipage form.
  • Fixed bug with passing checkbox values. Only one value, the last selected, was being passed for a multiple choice question.
  • Rearchitected process for passing parameters to the Google Form with wp_remote_post().

Version 0.15

  • Fixed bug with default options which manifested itself always loading the default options for any setting which is on by default even when turned off by user.
  • Removed loading of jQuery-Validate as it is no longer used.
  • Removed debug and other deprecated code (e.g. wpgform_footer()).

Version 0.14

  • Fixed minor bug with default options which manifested itself as an array index warning on the Options page.

Version 0.13

  • Fixed bug where values for check boxes and radio buttons was not retained when going back on multi-page Google Forms.

Version 0.12

  • Debug code removed and typos fixed.

Version 0.11

  • Re-architected plugin to support multi-page Google Forms.
  • Fixed bug which resulted in form being redisplayed when using default confirmation.
  • Deprecated use of jQuery Validaor plugin, it is no longer needed as Google is now doing required field checking and validation as part of the new architecture.
  • New CSS styles added to support new architecture and confirmation page rendering.
  • Default CSS style for div.ss-q-help changed to display: block;.
  • New attribute title added to allow supressing for form title.
  • New attribute maph1h2 added to map H1 elements to H2 elements.

Version 0.10

  • Added support for required fields using the jQuery Validate plugin.
  • Added CSS classes to support jQuery required field validation.

Version 0.9

  • Added screenshots.

Version 0.8

  • Fixed formatting of CSS section in ReadMe.txt file.
  • Added documention for br and suffix short code attributes.

Version 0.7

  • Added new shortcode attribute br which can be set to on or off. The br attribute will insert
    tags between the labels and the input fields causing them to render on top of one another much they appear on Google Forms. The default setting is off.
  • Fixed problem due to Javascript embedded in Google Form. It isn't necessary so it is stripped out.
  • Tweaked several default CSS settings, most notably the default width of text entry fields.
  • Cleaned up a bunch of debug code.

Version 0.6

  • Fixed problem with CSS text from Google form theme appearing as text on the embedded form. This text should have been stripped and in some cases it wasn't.
  • Fixed typos in ReadMe.txt file.

Version 0.5

  • Fixed problem with tabs not working correctly on Settings page.
  • Corrected default setting on donation link.

Version 0.4

  • Added support for missing Google Forms fields.
  • Added more CSS styles based on new form fields.
  • Added FAQs and Usage content by retrieving it from the WordPress repository.
  • Removed some debug code.

Version 0.3

  • Added support for <select> and <option> tags.
  • Fixed Plugin URI path
  • Added links to demo content

Version 0.2

  • Cleaned up ReadMe.txt file.

Version 0.1

  • Initial release.

Requires: 4.0 or higher
Compatible up to: 4.5.4
Last Updated: 2 weeks ago
Active Installs: 20,000+


4.9 out of 5 stars


5 of 11 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

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

75,4,3 100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,2,2 0,1,0
0,2,0 0,1,0
100,1,1 100,1,1 100,1,1