Mostly WordPress plus some other random thoughts and musings …

Search for:

wpGForm

Are you using WordPress Google Form? If so, please consider making a donation!

The WordPress Google Form (aka wpGForm) plugin allows a Google Docs Form to be embedded into WordPress posts, pages, and widgets. Form are defined through a Custom Post Type User Interface where optional features are also controlled. Forms can be added to menus via the CPT permalink or added to a post or page using the wpgform shortcode. Using CSS, the look and feel of the form can be made to match the WordPress theme.

Note: Support for multi-page Google Forms was added in v0.12. With the addition of support for multi-page forms the custom confirmation page changed. See the release notes for details.

Tips and Tricks

Help and Support

I try to respond to comments when they are posted and I do so on a best efforts basis. If you have a problem or question you’d like me to look, please submit the form on my Help and Support page and I’ll do my best to look at your problem as soon as I can.

Share this:

668 thoughts on “wpGForm”

I tested your google forsm plugin and it *almost* worked. I get the form, formatted using my WordPress Style, however I also get a chunk of css drawn above the form.

I tried chaning custom css, default, disabling them to no good. When I changed the theme of the form in google-forms then the css-changed as well. Do you know how I can remove or hide this large chunk of css above the form?

Can you send me a link to where you have it installed? I’ll take a look and see if I can figure out why you’re seeing some extra CSS. It is possible your form is different enough from mine that the HTML the plugin is receiving from Google isn’t exactly as expected.

Permissions can mean lots of things. For WordPress Google Form to work correctly the following must be in place:

The Google Form must be published. This operation is done within the Google Docs context and results in a URL which when shared, will render the Google Form for any user who has the URL. Publishing a form doesn’t mean the URL is publicly known, it just allows Google Docs/Forms to work without being logged into Google.

The WordPress HTTP API must be fully operational. In most cases this is not an issue but there are a number of “free” hosting plans which disable several PHP features which are required for the HTTP API to work. If you are using a free hosting plan, this may be an issue for you. If your primary WordPress Dashboard doesn’t update the feeds and you have errors or warnings, it is highly unlikely that the WordPress Google Form plugin will work.

If the above is true, then the only permission issue which could come into play would be whether or not the post or page the form appears on is protected with a password or role capability. In most cases this isn’t enabled but there is no reason why a post or page can’t be protected using any number of methods which WordPress supports. There isn’t any functionality inherently in WordPress Google Form which deals with permissions – if the encapsulating page or post is visible to the user, the form will be rendered when the short code is processed.

If you load the default GForm CSS (it is a checkbox on the GFroms Setting page) the bullets should go away. Also, I have been alerted to an issue with required fields (see this) that I am trying to resolve right now.

I also am having trouble with the bullets on the list. I checked the box as instructed. Any idea what I can do to fix this? I had the same trouble when I tried to add the form to my page using HTML, before I used this plugin.

Although I don’t use wpgform in WordPress, I’ve been trying to figure out a way to get around the default confirmation page for months for another project. How did you get a custom confirmation to override? Everything I tried was ignored or broke the action.

And in this section of the “readme.txt file” there’s a spelling error you may want to correct (If not, that’s cool).

== Usage ==

The WordPress Google Form shortcode `gform` suupports (There are two u’s in supports)

Even though you are not using WordPress, if you download the plugin code and take a look at the source file wpgform-core.php, on our about line 280 you’ll find the following code:
// Redirect to a custom confirmation page instead of the Google default?

Essentially I insert a small bit of Javascript to redirect the confirmation to my page instead of Google’s. Hope you find this helpful. I can’t take complete credit for this trick, I found something similar when I first started working on this plugin and adapted it work with with WordPress and my application.

I use the Inline Google Spreadsheet Viewer plugin (which I did not write) to display the results on a web page. The plugin has some nice features and if you know CSS pretty well you can really style how the Google Spreadsheet results are displayed.

I looked at the source of your page and something doesn’t look correct in this code:
<iframe name="gform_iframe" id="gform_iframe" style="display:none;" onload="var _0=this;__CF.DJS.push(function(){(function(){if(submitted){window.location='http://occupyatlanta.org/2010/11/03/thank-you/';}}).call(_0)})"></iframe>

This is the code from the sample here on my web site:
<iframe name="gform_iframe" id="gform_iframe" style="display:none;" onload="if(submitted){window.location='http://michaelwalsh.org/wordpress/wordpress-plugins/wpgform/sample-thank-you/';}"></iframe>

As you can see, yours has some extra stuff in which isn’t generated by my plugin and I am not sure what it does. Any idea where it came from?

Hi Mike,
Are there any directions on how to use your plugin for someone who knows very little html? I am trying to make slight adjustments to my form and can’t figure out how to do it through your plug in.
Thank you!

Did you read through the Other Notes section on the WordPress plugin repository? It shows an actual URL embedded in the short code. If you can point me to your page I can probably make a suggestion on how to achieve what you want.

integrating wpGForm with my wp contact page and so far so good. i like it and think it will work great for more elaborate forms planned for the future.

i was adding to Custom GForm CSS with no hang ups until i got to the submit button. now i’m stumped :[ when i try to alter css it seems to effect other input field formatting as well. having a hard time determining what is styling what.

for what its worth… site currently uses a wootheme template where shortcodes are available to decorate buttons but unsure how or if its possible to use button shortcodes for wpGForm.

Went with your suggestion… The CSS does effect the ‘Submit’ button but also effects all entry fields (Name, Email, etc) the same way. My form fields ‘Name & Email’ are set to ‘required’ so perhaps that’s why my result was different then yours. To gain control of the ‘required’ entry fields i began playing with:

input.ss-q-short.gform-required { }

It worked but somehow it doesn’t seem to be the most efficient. I’m still new to CSS and barely grasping it, so always open to advice.

Yes, you’re right, it would affect all fields which on the site I used it on was intentional. I didn’t think about that. I can’t think of anything better off the top of my other than what you’ve done without using jQuery to select the specific input tag for the submit button. The code that Google returns looks like this:
<div class="ss-item ss-navigate"><div class="ss-form-entry">
<input type="submit" name="submit" value="Submit"></div></div>

There isn’t any class or id attributes for the submit to style. I’ll have to think about it but it is likely possible to insert a class based on another attribute on the shortcode.

Your form can definitely be embedded, I put it on a test page on my own site and it rendered fine.
I suspect you have a syntax problem. I looked at your web page and there isn’t enough information in the HTML for me to see where you might have made a mistake. Any chance you can post a screen shot of your page in the Editor so I can see what you have in the shortcode?

Hmmmm, there seems to be a minor bug in the CSS application.
I added my custom prefix (works!)
I added definitions for three of the custom-prefixed values in the special CSS box for your application.
— No effect…
I added the definitions to my theme’s CSS file
— Works
So… the prefix is working, the CSS is being processed, if its in my theme’s CSS file, but the part that should allow me to add it without editing the theme directly doesn’t appear to work.
(as I say, minor issue, because I can work around it, but thought I’d report it)

Did you also check the box that tells the plugin to use the Custom CSS you added to the text box? In addition to adding the CSS declarations, you also have to tell the plugin to load your custom CSS by marking the appropriate check box.

No worries – I want multipage to work too but unless I embed the form in an iframe (which loses the ability to style it), I don’t have a viable solution yet. I have found a pretty slick Javascript technique that looks promising, I just need the time to focus on it. Soon – I promise!

Just wanted to provide a quick update on multi-page forms. I am making progress. I have a solution working in my development area, the only thing left to do is to solve the custom confirmation page. My solution for multi-page forms invalidates the technique I used for the custom confirmation page so currently the Google confirmation page is displayed (correctly) upon form submission.

I’m still struggling with one thing: line breaks! All of the line breaks have disappeared, and I can’t figure out how to bring them back. For example, in the last few questions on the page, the “help” text and the input box come directly after the question, and it’s confusing.

I really struggled with this for a while because when I put this on my site to test it, it worked.
So why does it work on my site but not on yours? It turns out, it is a CSS issue. My guess is that my theme has some parent level CSS which is causing it to behave differently than yours does. So how can we fix it? I believe this is what you’d like to achieve (which I did using FireBug):
To achieve this, add the following CSS to either your theme or to the custom CSS field (and make sure to enable it) in the plugin settings:

I’m still trying to figure out how to handle the form description at the top, though. It has the line breaks, but the empty lines between the paragraphs have disappeared, and my bold tags (from the original Google form) aren’t being rendered.

Is this something that’s possible to fix using CSS? Or should I just write the description part of the form on my own website, and only display the input part of the form using wpGForm?

This is actually a grey area. The intent of the plugin is to allow the Google form to be embedded within your WordPress site so it can be styled to match your theme using CSS. The CSS supplied by Google is not used so the behavior you see may (and in your case it is) different than what you see when you look at your form within the Google Docs context. This is by design. I’ve included some very basic CSS definitions in the default CSS supplied with the plugin but they are minimal and only style what I thought would be the default.

So the real answer to your question isn’t that there is a problem with the plugin, it is doing what it is supposed to do. The problem is that you need some additional CSS to achieve the design you want to achieve.

Nope that helps explain why you’re seeing what you’re seeing and as I replied to your other comment, there is a simple solution to address your problem.

There is a bug in the default confirmation page behavior which is why you’re seeing it return to the same page. I have it fixed but haven’t released an update yet because I am trying to handle multiple page forms (which doesn’t look possible unless I find another idea). The confirmation page will work if you specify a URL as the confirm argument:
[gform form='<form URL>' confirm='<confirm URL>']

Is your form multipage? If so, the current version of the plugin doesn’t support multipage forms. I’ve tried a couple things to get it to work and I have one idea I am working on but I have not had much time to work on it over the past couple weeks. Now that the holidays are over and I am back from the Disney Soccer Tournament, I should have some more cycles to look at it again.

I have the same problem. My site is in catalan/spanish/english/italian, I use mlanguage plugin which had a default language choiche as german, but I disabled it and I use those 4 other languages.
Anyway, the gform now displays messages in german (!). Gform account is in catalan. Very strange. How can I tweak it?
Thank you it is a great plugin

Sorry for the delayed response on this – I’ve been tied up for the past few weeks and am behind on looking at these issues. It turns out the reason why your bold text isn’t coming through is because the bold tag isn’t in the list of allowed tags when the HTML is parsed. I’ve added it (along with the italic tag) to the list of allowed tags in my development version so when I get an update posted, it should work.

I have everything working but styling the checkbox section nicely. It looks like the check box section has been expanded to the same length as all of the other input boxes (45%). This results in a lot of white space then the small check box then more white space and my label.

What can I add in the custom CSS section to shift this all back over to be left justified? I’m guessing it’s by defining CSS for that one section of input by it’s group ID or something.

I am not sure, it is something I’d have to look into. I have little to no experience with Google Docs in languages other than English.

It would be possible to strip the title from the Google HTML. Google sends an H1 tag and I don’t do anything other than pass it through. It would be possible to have a setting that strips the H1 tags so the title would not come through. Is that what you’d like?

1) I added the language parameter in the URL and it’s working in french 🙂
2) It would be awesome !
3) My mistake, I ommited to write br in this one
so a br element between questions and descriptions would be good because description are displayed just after questions.

Thank you for this plun-in. I’ve figured out pretty much everything, except on thing. I used your suggestion to eliminate the bullet points in front of the checked-boxes, and it worked to get rid of the bullet points. But it’s still adding a lot of white space on both sides of the checked boxes. How do I get them to align on the left margin, with no extra space?
Thanks.

Without seeing your form it is hard to say exactly by I would play with the “margin-left” and “padding-left” properties within the same CSS declaration you turned off the bullets. I’d start with something like this and change the values until I was happy with how it looked. White space can sometimes be tough to collapse but it can be done, sometimes you need to change the style for the surrounding element.
div.ss-form-entry>ul {
list-style-type: none;
margin-left: 0px;
padding-left: 0px;
}

You can also play around with negative margins too. If you want to post a link to your form I can take a look at it.

It looks like your theme has a float property of left on all label elements which is making your form look like a mess. I would try adding the following to the wpGForms custom CSS setting (make sure you enable it with the check box):
div.ss-form-container label {
float: none;
}

The syntax of your shortcode must be incorrect because I was able to load your form, see it on my site here. I used this shortcode:
[gform form='https://docs.google.com/spreadsheet/viewform?hl=en_US&formkey=dEt1MnJWUXpvOFd0aGFGdExtTFRGZUE6MQ#gid=0']

Hi Mike, Thanks a lot for you reply. I tried using exactly the same syntax which you have mentioned above, but still getting the same message. Please check http://arisys.co.cc/wordpress/?page_id=121. Can this be a problem with my plugin installation. If yes what should I do?

A couple of things I have seen that could cause it not to load properly:

When you enter the shortcode in the WordPress visual editor, sometimes it creates a hyperlink out of the URL. If you see the form URL highlighted in a different color in the editor, then this is probably happening. To fix it simply select the text and use the “Remove Link” icon.

Like the previous item, sometimes URLs get encoded so while the URL may look correct, you may want to toggle over to the HTML view and make sure some of the characters aren’t being encoded as HTML entities.

I have seen the single quote character look correct but actually be the wrong character when text is copied and pasted from other sources (e.g. Word, a web page, etc.). This one is really hard to find – if you think this might be the problem, simple delete the current single quote character(s) in your shortcode and enter a new one using the keyboard.

Check these and let me know what you find. It has to be something like this causing the problem because it works fine on my site.

Just to close the loop on this issue – the reason is isn’t working is due the WordPress running on a free hosting service which disallows use of the the remote request options that the WordPress HTTP API relies on. The same issue affected prevented Dashboard notifications, WordPress, theme, and plugin update notifications, and plugin and theme installation from the Dashboard. If you see HTTP API errors on the WordPress Dashboard it is unlikely wpGForm will work because it relies on the same API.

Thanks for the updated version (I’m using 0.14 now). The bold tags work great, and I was able to add line breaks by adding extra tags in the form description at the Google doc.

After adding the tags, though, I am seeing extra space being added at the bottom of the ss-form-desc container. Firebug indicates that there are two extra sets of tags at the bottom there, even though I didn’t write them. Where could they be coming from? Obviously it’s easy to fix by controlling margins, but it seems odd that it’s happening at all.

Lastly, is it possible to add the , , , etc. heading tags to the list of things that can be included in the Google doc (and are not stripped during the import)? This would enable me to format my mini-headings in the form description. (In my case, that’s the titles of my workshops, which are currently just bold.) Hopefully this is relatively simple to implement.

Thanks for the updated version (I’m using 0.14 now). The bold tags work great, and I was able to add line breaks by adding extra tags in the form description at the Google doc.

After adding the tags, though, I am seeing extra space being added at the bottom of the ss-form-desc container. Firebug indicates that there are two extra sets of tags at the bottom there, even though I didn’t write them. Where could they be coming from? Obviously it’s easy to fix by controlling margins, but it seems odd that it’s happening at all.

Lastly, is it possible to add the ,, etc. heading tags to the list of things that can be included in the Google doc (and are not stripped during the import)? This would enable me to format my mini-headings in the form description. (In my case, that’s the titles of my workshops, which are currently just bold.) Hopefully this is relatively simple to implement.

If you look at your original form using FireBug you will see this:
The extra space you’re seeing is due to the three empty <p> tags in your original form. I am not sure why you don’t see them rendered the exact same way, there must be some sort of CSS display or collapse property that is different between the CSS on your web site and the CSS that Google uses.

The other issue you reported (default CSS problem) is fixed in v0.15 and available now, see this post.

One more thing – it looks like in version 0.14 of the plugin, it’s loading both the Google default CSS and the custom CSS at the same time. For one thing, I can’t uncheck the “enable default CSS” checkbox on the plugin settings page in WordPress (if I uncheck it and press “save changes,” it comes back checked again). For another thing, some of that default CSS is now overriding my custom CSS. Notably, I am trying to make the Submit button to have background “none,” which works just fine in Firebug but not when I type in the actual code.

I will take a look at this and the other issues you noted tomorrow morning. I made a change to the way the defaults are loaded, I’ll bet I messed up the it always takes the default even when it is already set to be off.

I added your plugin here and determined that checked select boxes (see group “Aufenthalt”) aren’t written to the according Google table. If I use the Google form itself those checkboxes are transformed to the sheet (?)

Does your form have an “Other” question? If so, there was a bug that incorrectly passed the value of the other field on to Google during the form submission. That bug has been fixed in v0.16 which is now available.

Hello Mike,
This was working fine. I made a few changes to my form, but I don’t think that should have affected the link. I updated the plug-in. Still can’t get confirmation page after submit. I have even removed any “other” options from the questions, and left only minimal required questions. Still can’t get form to submit. It says, “still have unanswered questions”. Which ones are unanswered aren’t readily apparent either. Here is my code. [gform form='https://docs.google.com/spreadsheet/viewform?hl=en_US&formkey=dHBSd0ZZTWY0OVJONF96MXFZWEY0OVE6MQ#gid=0' confirm='http://www.balancedmeridian.com/thankyou/' class='mgform' legal='off' br='on' title='off' prefix=gfo'mygform-' maph1h2='on']

I have just installed this plugin(v0.16) and loving it, however I am using a multipage form which takes the user to a certain page depending on their choice on the first page. The form goes through everything fine but on the results sheet the plugin doesn’t appear to be sending the results correctly. I have made the results sheet public for now to help fix this and so you can see what I mean. Links: Form. Results Sheet”

Hey – just wondering if I could use just a ‘Thank You’ alert instead of of a page for the ‘confirm’ parameter. I think I have to edit wpgform-core.php, if you could provide the code I could paste for this, that would be so helpful!!

Instead of editing the plugin source files, I have added a new feature to support your use case. If you add the optional alert=’message text’ to your gform shortcode, you’ll get an Alert Box upon successful submission. You can find more details in this post about the new update.

I am continuously getting the “Unable to retrieve Google Form. Please try reloading this page.” and I already checked with the hosting company to make sure that the WordPress HTTP API was working and they said it was. Any other ideas on what to do?

Here are a couple of ideas: 1) Do you see any errors on the WordPress Dashboard? You would see these on the “Other WordPress News” widget. WordPress Google Form uses the same API as this widget does. 2) Is this Google form published? If not, it needs to be. 3) Can you share the shortcode you’re using with me? I can test it or look at it.

I used version 0.22 of your excellent plugin here but I can’t get the multi-form part working properly. The multiple choice question on page 1 determines, which page is called next. Answer 1 leads to page 2, answer 2 to page 3 and answer 3 leads to page 4 (the last page in the form).

When I select answer 3 it works fine and forwards me to page 4 but when I select answer 1 or 2 it doesn’t forward me to the page specified with the question but to the setting specified with “After page 1… Continue to next Page/Go to Page 1/2/3) in the bottom right corner of the page box.
Any idea what could cause this behavior? If you need any more details just drop me an email (everything works as expected when opening the form directly btw).

I downloaded your plugin and am having a slight problem. All the formatting shows up at the top of the page and none of the formatting affects the actual text. What am I doing wrong.http://kprdradio.com/wp/?page_id=6

You have a whole bunch of content that appears between <code> tags including the CSS declarations which appear on your page. Any idea where those tags are coming from? Anything which appears within <code> tags will be rendered as raw text and not interprted by the browser as HTML or other syntax (e.g. CSS or Javascript).

I am pretty sure I found and fixed the problem. I think it is due to choosing an appearance theme for the Google Form in the Google Form designer. I recommend not choosing a theme and instead letting the WordPress theme dictate the appearance of the form when it is embedded on a WordPress site. All that said, I think I have it fixed in v0.23 which I released a short time ago.

The plugin is having serious issues with non-english characters.
I put it in a form and accents and the ñ are not being saved in the spreadsheet. It is not a Google Form issue as i tested using the form directly and the characters are being saved.

For example if i select in languages Español and Inglés (for Spanish and English) directly using the form i find “Español, Inglés”, but using the one your plugin embeds i got “Espaol, Ingls” instead. Are you using some specific encoding on your files or something? I suggest you to use UTF-8 to avoid those issues.

Anyway i wonder why is that happening because in the webpage the values are being shown correctly. It should be on the values or at the form sending time…

In order to solve the issues about bad management of non-english characters on those forms, we checked the generated html using firebug just to find the values are correctly shown on the html code. Then we believed your code to split checkboxes was wrong, but also find that values of checkboxes or textfields and textareas were being saved with errors on the spreadsheets.
Then we decided to go and replace this lines of code:
if (is_array($_POST[$key]))
{
$pa = &$_POST[$key] ;
foreach ($pa as $pv)
$body .= preg_replace($patterns, $replacements, $key) . '=' . $pv . '&' ;
}
else
{
$body .= preg_replace($patterns, $replacements, $key) . '=' . $value . '&' ;
}

Thanks for digging into this, it was on my to-do list for this weekend! I fugured it had to be something I wasn’t accounting for with UTF-8 characters. I will fold your change into my code and push out an update.

There’s another issue. A really simple one. The file wpgform-core.php was triggering a warning “PHP Warning: Cannot modify header information – headers already sent by (output started at /…/wp-content/plugins/wpgform/wpgform-core.php:1079)”. I checked the file just to find a few empty lines at the end. This seems to not to cause an error, except when loading the url with www before it. I installed it on lidapatty.com/website, and sometimes the pages were giving wp blank screen of death. When trying to load the website as http://www.lidapatty.com/website they’re were always blank dead. A simple error like that would lead other users to remove the plugin rather than finding and removing a few empty lines.
By the way, are you coding on Mac? WinSCP text editor shows lines separated by empty lines in between, like using double enter before each one. I don’t know if that caused the issue or if file had the empty lines before.

That is a very odd error and I don’t see it on my development platform. The wpgform-core.php file only has 539 lines in it so I am not sure why it would report a problem on line 1079. I edit my files on a Windows 7 Virtual Machine using Vim as my text editor. Running “wc -l wpgform-core.php” under Cygwin also reports 539 lines. Tomorrow I will take a look at the file as it is delivered by the WordPress plugin repository, maybe something is happening to it in that process.

What sort of auto-reply? The tricky problem would be determining what e-mail address to send the auto-reply to. Something on the form? Is the user required to be logged in? If the user was required to be logged in, then yes, an auto-reply feature would be possible. That said, I don’t know how generally applicable it would be. If I’ve completely missed what you are asking for, please clarify.

I mean the auto-reply to the person who is not logged in and the e-mail is being provided via the form.

I see this in that way that I can provide the content of the auto reply in the plugin’s admin page and the same when it comes to the email field. I would simply enter the name of the field in which the user inputs the email address, in order to plugin knew where in fact this data is.

See the my posting from today. If I went the CPT route, what you are asking for may be possible but it would mean “special” handling for a field somewhat like I mentioned on how some fields could be hidden and populated with data from a user.

I don’t do anything special to make mine load quickly. However, my form is pretty simple, it only has a few form elements. How complex is your form? How quickly the redirection happens is a function of how quickly Google Docs responds. I need to look into this again and see if I can “re-implement” the original solution I had before I supported multi-page Google Forms. The multi-page form require forced me to change how I was doing the confirmation page.

Mike,
Thanks for all your work and great support. The plugin is really great. I am experiencing some formatting issues. Looks like extra tags or tags that make the layout of the embedded form stretched out.

1. I’d like to tighten it up vertically.
2. Tons of vertical whitespace that needs to be taken out.
2. The asterisk for the required fields is on a line below.

I think the bulk of your problem stems from the fact that you appear to have wrapped the gform shortcode in <pre><code> and </code></pre> tags. I think if you go to the HTML view of your page (post) you will see something which looks like this:
<pre>
<code>
[gform url='' br='on' ...]
</code>
</pre>

Removing the PRE and CODE opening and closing tags should eliminate the majority of your white space. The PRE tag is the primary contributor to your white space problem. I used FireBug to edit your page content and took out the PRE and CODE tags and your page renders like this:
You can also set the change the br shortcode attribute from ‘off’ to ‘on’ and see if that moves the asterisk to where you want it. You may not have to after getting rid of the PRE and CODE tags, I’d start with them.

1- I tried :
div.ss-form-entry>ul {
list-style-type: none;
}
to remove bullets but it changed nothing. Acutally nothing that i put in the Custom GForm CSS box seems to work, and i only have Enable custom WordPress Google Form CSS checked, so it should work!

2- My form is in portuguese, but when i load it, says “* Required” instead of the portuguese term from the original, how do i correct that?

3- The “Powered by Google Docs Report Abuse – Terms of Service – Additional Terms” is annoying. Is there a way to remove that, or at least break some lines before it? Its stuck on the Submit button

I’d have to look at your site to see what is up, can you provide a URL? That should work, I’ve used it a number of times. You can always examine the HTML on the page to ensure the custom CSS is being output as part of the document.

You need to add the &hl=XX parameter to your form URL where XX is the proper language code that Google Docs supports. You can see an example of where I had Google render the form controls (not the actual questions) in French here.

Yes, you can turn this off with either CSS or by adding the attribute “legal=’off'” to your short code.

Because you’re using the prefix attribute, all of your CSS classes need to also have the prefix in order for the styling to affect the elements you want to affect. You have this:

div.ss-form-entry>ul {
list-style-type: none;
}

What you should have is this:
div.mygform-ss-form-entry>ul {
list-style-type: none;
}

You have found a bug. The “fixing” of the checkbox fields fields so they work when passed to Google’s form processor is not accounting for the prefix=”mygform-” attribute. If you remove the prefix attribute what you have in place now should work (including the CSS to turn off the bullets) but it is a bug and I will try and fix it shortly.

I suspect the legal=’off’ attribute isn’t working because of the prefix either, I will need to take a look at that. If you remove the prefix attribute, legal=’off’ may work as well.

What version of the plugin are you using? I fixed this problem a while ago and it required me to add a jQuery script which runs when the page loads to convert the checkbox variables from a format that PHP uses (WordPress and the plugin are written in PHP) to a format that Python uses (Google’s form processing is written in Python). If it isn’t working then it could be one of three things:

You’re running a older version of the plugin which doesn’t have the checkbox fix (check the release notes, I fixed this in v0.16 or v0.17 depending on how many fields your form has).

There is some sort of jQuery collision on your site which is preventing the wpGForm jQuery script from running. You would see this by looking at your browser’s error console for Javascript errors. My plugin uses the WordPress recommended method of ensuring that jQuery is loaded and initialized correctly in “no conflict” mode but not all plugins and themes do this. My guess is this is likely your problem. You can deactivate other plugins and/or switch themes to try and isolate where the conflict is.

Google has changed something and I need to update my plugin. This could be the case but I suspect I would have heard about it by now.

Not currently but there have been a couple of requests for something similar. I outlined some possible ideas that I may implement in this post from about a week ago. If I move wpGForm to a Custom Post Type (CPT) there are a number of things I could do that would be much easier than adding a bunch more attributes to the short code. E-mail notification would be one of those and is a good idea.

Even in the short term, adding a short code attribute like “notification=’on'” might be pretty simple to do if I default notification to the blog’s admin e-mail address.

From looking at the HTML, you haven’t enabled the custom GForm CSS on the WP Google Form settings page:
You need to have the CSS defined and enabled in order for it to unless you add it to your own style sheet which is loaded as part of your theme.

What i want to do is, that when a required field is left blank and the page loads again and tells you that there are some required fields that needs to be filled out – then i want the missing required fields to be marked with red.

Does it make sense?

I don’t want them red all the time – just when they’re left blank to signal which ones are missing.

I am pretty sure this is what you want to do, please clarify if I have misunderstood.

Before submitting a form that has required fields:
After submitting a form which has required fields:
To have the field text appear in red only after submitting the form without providing the required field, I used this CSS:div.errorbox-bad div.ss-item-required label {
color: red;
}

Let me know if that doesn’t work for you. If you have used the prefix attribute in your short code you’ll need to adjust the class names accordingly.

We are having issues with the redirect in, ie when you press submit it just refreshes the page. I had to downgrade the plugin all the way to your version 0.10 and then it worked as it should – I think it has something to do with when you implemement multi page support in 0.11 as i noticed you said this in your last news note “The v0.26 version switches from a Javascript redirect to an Ajax page load using jQuery. In my testing it seems to work pretty well and is much less intrusive than the redirect was. Let me know if you run into any problems with it.”

From 0.11 onwards the submit button doesn’t work for us. I can link up on here a sample of it not working on our site if need be but do you know why this might be?

Check your e-mail, I’d like to look at your particular problem and sent you some questions. There have been a lot of bugs fixed since v0.10 so I’d be reluctant to use that but I do understand the preference for a custom confirmation page. If the confirmation page isn’t working, I’d still stick with the latest version and use the default Google confirmation content for now until I can figure out a solution.

Thanks Mike, unfortunately we need the form on the site operational now so I’m going to stick with 0.10 this time, I will email you a link for a test page with 0.26 installed so you can see what I mean. Basically we get no confirmation page at all, not enough the default google one. Obviously i’d love to use 0.26 for all its bug fixes but ive tried every version above 0.10 and the issue happens in all of them. Thanks for your prompt reply 🙂

I’ve been thinking about your problem and why v0.10 works but anything later does not. In v0.10 and earlier (before I supported multi-page forms) the “Submit” action actually called the same action the source Google Form calls. Without a custom confirmation page, the submission would result in the user ending up on the Google Confirmstion page. While this worked, it wasn’t very elegant so I came up with the custom confirmation page. In v0.10 the custom confirmation page was accomplished with a redirect on form submission.

In order to support multi-page forms I needed to change how the form was actually submitted so the submit action is stripped from the source Google Form and replaced with action=”” effectively causing the page to submit to itself. The plugin will detect this second submission, process all of the POST parameters and then submit them to the Google Form processor using wp_remote_post(). This is actually a more “elegant” solution and is the only way to support multi-page forms that I can think of.

In your case I think the form submission which should be ending up on the same page, isn’t for some reason. The only thing I can think of is something in the .htaccess file causing URL routing not be processed correctly so the plugin never gets run a second time to process the post parameters.

I cannot go back to the confirmation model I used for v0.10 and earlier versions – it doesn’t work for all of the models I need to support. I will keep looking to see if I can figure out why the URL routing doesn’t seem to be working correctly.

I have a strange problem. Form was working fine but then started redirecting users back to the form page instead of the confirm page. I updated the plug-in and the problem kind of persists. Now what it does is for some browsers (chrome on a mac) it does eventually, after a good few seconds take the user to the confirmation page. For other browsers (safari) it hangs.

The slight lag is the AJAX page load the custom confirmation page is doing. It should be fairly quick, certainly not seconds. I have reverted the confirmation behavior in v0.27 release so please try that and let me know if you’re still seeing a problem.

Actually. Re: previous comment. I realise now that the page was redirecting when I was logged into my wordpress account but when logged out it doesn’t direct. It actually returns a page with a smiley face on it for some reason!

I rolled back to version 0.25 which is working well for me so I think I’ll hold on the update for now. Once I’m past this busy period of my running club members using the form I’ll apply the update and report back. Thanks.

I just added your short code syntax to my development area and it works without any problem, you should see a submission from me in your Google Doc. If you consistently get that error, then you may be running into an issue with WordPress’ HTTP API. Read this post for some background data on a similar situation another user had and this comment regarding a hosting plan that prevented the WordPress HTTP API from running.

This plugin is exactly what I have been looking for! However, just a small but annoying detail: is it possible to have the “*” for required items in red?? I had a quick look at the code but it seems there is a lot of Javascript involved for that part so I gave up after a while.

<label for="entry_0" class="ss-q-title">This is a test question. what colour is the sky?*</label>

There isn’t any way (that I know of) to style just the last character (or any specific character other than the first for that matter) without manipulating the element using Javascript. I think it would be possible to manipulate the elements using jQuery but that isn’t something I currently have in the queue.

Any possibility of this working for a page in draft mode or password protected? I saw the note that it only works for published pages. I want only people invited to use my form to be able to use it. I found a guy selling a script that’s suppose to allow a redirect to a page of my choice, but did not see if it works with pass protected pages. For the $5 he’s charging for the script, it might be worth a try.

This should work fine for draft or protected pages. The only restriction is the Google Form (on the Google Docs side) must be published. There isn’t any requirement on the WordPress side for a post or page to be published.

Running locally might be an issue depending on how you have PHP and WordPress configured. I do all of my development on a Windows 7 Virtual Machine running PHP, MySQL, and WordPress locally under http://localhost/ so running locally isn’t an issue in of itself. I would guess that something in your configuration is preventing the WordPress HTTP API from operating correctly. Do you see any errors or warnings on the main Dashboard about not being able to update WordPress Feeds? Are you able to install plugins from the Plugin Repository through the Dashboard?

1. if the “required” asterisk gets pushed to a new line because of a BR tag, is that a WP/theme issue?
2. On my site I have odd spacing/padding on all “Other” text input fields at the bottom of a form element. Also theme-related?

Check the BR tag behind the label tag and the closing P tag behind the label other_option:1. Is the theme or WP adding this? And how can I possibly get rid of it, because it clearly is invalid HTML, esp. the closing P tag.

It might be. Do you have the br=’on’ attribute in your gform short code? If you do, that will definitely cause the new line. I helped one person with their site and their theme redefined the styling for virtually every element possible. In the end we were able to get his styling correct for his form using CSS but it took a while to figure out.

If you want to share a URL with me I’ll take a look and see if I can figure it out. My guess it is also theme related, most CSS oddities are but most can be addressed too.

I’m really liking your plugin. There is one similar but yours seems to be alot better. I just have a few things that I want to ask.

First of all, I can’t seem to load the settings page for the plugin within the admin section of my website. I don’t know if it just me who has this issue or not.
Also, would you be able to implement url parameters into the plugin? I want one of the fields to be auto-populated when /?parameter=example (or similar) is added to the end of the url. This one of the biggest things that I need otherwise the plugin doesn’t have the full effect that I want it to.

Regarding the inability to load the Admin page, it sounds like a plugin conflict of some sort. You may want to try disabling other plugins and see if will work properly. I have not had anyone else mention problems loading the Options/Settings page.

Regarding your second question about adding URL parameters – where would they originate from? What would they map to? I have had a couple people ask me to add hidden fields (e.g. username or email address) to capture the current user which should be possible. The hesitation I’ve had in implementing something like this is what to do with the data? How is it connected to one of the fields on the Google Docs speadsheet? A column on the spreadsheet can have any arbitrary name so how should it be mapped to what is essentially WordPress data? Adding all of the mapping could make the current shortcode pretty ugly so I’ve thought I’d introduce a Custom Post Type where it would be easier to manage some of these more abstract ideas.

Basically, the URL parameter thing is so that an actual field in the form is automatically filled. If you go to http://burnoutaddict.co.cc/gt5carlist and click on one of the links on the page, it would send you to the form with one of those fields automatically filled, based on what was added to the end of the URL. It currently links directly to the form in Google Docs instead of your WordPress version, but I would like your plugin to implement that kind of feature so I can keep everything with the same style instead linking to Google.
As for the admin panel issue I am having, I will test disabling all other plugins and try to find out which one is causing the conflict.

On the back of what I have posted before, I have disabled all other plugins, and still get this message:

Also, about the url parameters, I currently have the other plugin that I was speaking about installed on a test page to show you what I would want. Page is password so if you want to check it out, can you email me, and i’ll reply with link and password.

Earlier today I posted some thoughts on potential enhancements and I’ve done some reading this week on query parameters. What you want to do should be possible although I believe I’d need to implement the Custom Post Type I’ve mentioned previously. I would be interested in getting the password to see what you’re proposing, I’ll drop you an e-mail.

My organisation (a small charity community choir) uses Google forms a lot to send questionnaires to the members about performance availability, etc. I was sitting here the other day thinking how great it would be to tie the forms into the Buddypress website I’ve developed for the members and then, lo & behold, I find your plugin. Amazing!

I’ve got a couple of suggestions for additional features that you might like to consider:

1. auto-fill the user name into a corresponding field (this could either be configurable, or just a simple look for a field called “username”)

2. store in the database the fact that a user has filled in the form (this way I can then test for it and warn them they’ve already done it, or even deny a duplicate entry)

Can you lend any help on how I can cut down on the white space between questions and answer fields, and between questions? All the space makes the form more vertical than I’d like it but I don’t have a strong enough knowledge of css to make that happen…

Great plug-in. Thanks a million. For some reason the checkboxes in my Google form are being converted to bullet points on the website and thus cannot be ‘checked’. I wonder if something in my CSS is cancelling it out or is this an issue you’ve run into before. Any ideas? The issue is on the second page of the form found at homeharvest.ca/start-your-project/

It’s a CSS issue with your theme. Somewhere you have the following style:

element.style {
position: absolute;
left: -10000px;
}

The “left” property is causing the checkboxes not to show. If you disable it (I did it temporarily with Chrome’s element inspector) the checkbox will show up. It still looks funny due to another CSS issue but that should be fixable using CSS in the wpGForm settings for Custom CSS.

This is a somewhat open ended question. Could it be done? Probably, the question becomes how to do it. The easiest way would probably be to put all of the elements in a table and put the even numbered (all form elements have a form ID) elements in one column and the odd numbered elements in another column. This has potential problems though because there is no guarantee that there are the same number of elements or that Google will render HTML with them in numerical order. They would be in order if the form was perfectly created from the outset but in my experience, that rarely if ever happens. Some clever jQuery could probably count the input elements and wrap each in the necessary table element tags or CSS classes to make them into columns. Here is an article that covers multi column lists, as you can see, the process isn’t real straight forward.

Well i did it on a wordpress theme that i use which divides ALL pages into a Two Column Layout. Sadly the page with the GForm is the only one that i need to divide in two columns so it’s not really a solution 🙁

Considering my lack of knowledge on this layout stuff, i don’t know if it can be used on a single page…

Without actually seeing the page it is hard to say if this can help. This basically describes the two column layout for normal devices and has a separate layout defined for devices with a screen width of 740px or less. Without seeing the actual site, it is hard to say if these styles could be added to the Google Form and yield anything usable.

No, there is no feedback between the spreadsheet and the form that is available externally (as far as I know of). The content of the confirmation page either comes from Google or from your site if using a custom confirmation page. If you turn the email confirmation on using the shortcode the timestamp on the email should be fairly close to the timestamp in the Google Spreadsheet. I’ve had a couple requests for some sort of logging feature which I may be able to accommodate if/when I incorporate a Custom Post Type.

Do you get email from your WordPress site already for user registrations and comment notifications? The email confirmation uses the same wp_mail() function that is used within WordPress. Did you check your spam folder?

My blog is also hosted on GoDaddy do there shouldn’t be any issues UNLESS you are using the free hosting plan GoDaddy offers with domain registration. That plan disables the PHP functionality that wpGForm depends on the retrieve the form content.

Form works fine (displays correctly and collects the information to my spreadhseet), onsubmit, instead of redirecting, it gives me the ‘unable to retrieve Google Form’ error.
I have tried all three options form submission confirmation (ajax, redirect, and alert).
I am thinking now that it has to do with the theme I am using (http://wptitans.com/dagda/) or one of the many plugins.
I will be debugging it for the next few hours, if I find the solution I will post here.
Please let me know if you have any ideas.

(I have used this plugin before on this server, so that isn’t the problem either).

Can you fill out the information on my Help and Support form? it will help me chase the problem down. If there any chance you are using the Facebook Like Thumbnail plugin? It is incompatible because it forces short codes to be processed as part of the WordPress ‘wp_head’ action which IMNSHO is a no-no.

I have enabled “custom wordpress google form css” in the settings but no matter what I do, my form refuses to accept any styling changes. I have also read through this entire thread, along with the one on wp forum, to no avail.

I have used inspect element and I can see that my current theme is being used to style the form instead of the parameters I copied into the plugins customs CSS box. I am a noob and I have no idea what steps I can take force the styling changes. I’ve noticed you’re a very helpful developer and I hope you can guide me in the right direction.

What you are seeing typically happens when the WordPress post or page editor tries to be smart and sees the URL for the Google Form and wraps it in link tags. When you are in the Editor, does the shortcode look like it has a link (different color, underlined, etc.)? The easiest way to check this is to toggle to the HTML editor and see if your shortcode looks like you think it should.

Hi Mike,
I’ve just started testing with your plug-in for a form that will capture volunteer information.

At present there are 2 issues plaguing me;
1) The ‘powered by Google’ message is still at the bottom even though I’ve turned legal off.
2) I can’t get the redirect working to my confirmation page.

The gform shortcode is here:
[gform form='https://docs.google.com/spreadsheet/embeddedform?formkey=dEFFYlpzMzFzemxhU3JrVUhFNmJEc1E6MQ' ,confirm='http://lowcostwebsites.net.au/budgetfunrun/volunteer-application-thank-you' ,style='redirect' ,alert='Thank you for your interest, we will get back to you very soon.' ,legal='off' ,title='off' ,email='on', sendto='on']

Your shortcode has a bunch of commas (“,”) in it which it shouldn’t have as the short code parser sees them as part of the attribute name so they don’t match what is registered as part of the short code. Try changing your short code to this:

[gform form='https://docs.google.com/spreadsheet/embeddedform?formkey=dEFFYlpzMzFzemxhU3JrVUhFNmJEc1E6MQ' confirm='http://lowcostwebsites.net.au/budgetfunrun/volunteer-application-thank-you' style='redirect' alert='Thank you for your interest, we will get back to you very soon.' legal='off' title='off' email='on' sendto='on']

The short code attributes simply need to be deliminated by white space.

I was scanning around the web and found a website for epic triathlons nova scotia. The volunteer button takes you to a google form and this site uses your plugin to unwrap the form. What’s particularly interesting is that some of the input fields are side by side.

Without a link to the page where the form appears it is hard to say for sure. For another project I’ve been looking at a jQuery script that will automatically split a DIV into two columns. It is entirely possible they did something like that. My guess is they did some sort of a CSS solution. Post the URL and I’ll take a look at what they did.

That form was built using a plugin called Gravity Forms. Gravity Forms is not a free plugin, you have to purchase it – you can find their pricing models here. I have never used Gravity Forms so I have no idea how it works but my understanding is it is a fully featured form builder for WordPress.

If you want to embed it in your index.php you could wrap the short code text in a call to do_shortcode(). Something like this:

do_shortcode(‘[gform form='URL']);

The URL would the full URL to your Google form. You could add other shortcode parameters as needed. Another option would be to put the shortcode in a text widget and enable shortcode processing in widgets in the plugin setting for WordPress Google Form.

Mike,
I am building a Google Form to accept donations to our group. I don’t see a way in GFs to have a radio button link to our PayPal account. Is there a way, using your plug-in for me to accomplish this?

It isn’t clear to me what exactly you are trying to accomplish but I do agree that there isn’t a way to add a PayPal link to a Google Form. That said, you could add the PayPal link to your confirmation page so that your users see it once they have submitted the form. There are probably some tricks you could play using WordPress filters or jQuery to insert the link into your form but it wouldn’t really accomplish anything because (a) there isn’t a corresponding field on the Google Docs side and (b) I could be wrong but I think all PayPal donations actions are GET requests and Google Forms are POST requests.

This has come up a couple times lately. See this thread on the WordPress.org support forum where I answered it most recently. It seems to be an issue with Google’s CDN. You should be able to fix it by forcing Google to use English with your form by appending &hl=en to your form’s URL. It is best to make this change in the HTML editor as the WYSIWYG editor will frequently encode the ampersand (&) using it’s HTML entity code (&amp;) which means Google will never see it.

Yes, you can change just about anything depending on your level of CSS knowledge. See the bottom half of this page where I explain how to use the CSS classes Google defines and enable custom CSS for your site. FYI – this same information is on one of the tabs on the Plugin Setting Page when you install WordPress Google Form on your site.

Great plugin! I just updated to version 0.37 with wordpress 3.4.2 and I started getting HTTP headers appearing above the form in an Array. I also noticed on your demo pages the headers are also there. Any help would be much appreciated!

Sorry for the delayed response, your comment ended up in the spam queue. This happens from time to time, it is a Google issue. There is a support thread for this issue on the WordPress forums where I’ve explained how to resolve it.

I am using the latest release of WordPress and XAMPP on a local machine with Windows 7 32-bit. I have installed this plugin but when I try to go to Settings > WP Google Form, i get nowhere. The browser just hangs, both IE9 and Chrome. Any thoughts?

When running on your local machine do you still have access to the Internet? Does the URL to the WordPress plugin repository work? I ask because the plugin pulls information from the WordPress plugin repository to populate some of the tabs on the plugin settings page. In my development environment, a Win 7/32 VM running Microsft’s Web Platform Installer with IIS, I am frequently offline (e.g. on an airplane). I sometimes see a delay as the WordPress HTTP API times out but eventually the page will render, usually in a couple of seconds.

I am unable to replicate the problem you’re describing. I tried it on a couple sites and the Preview button works as I would expect. Any chance another plugin might be manipulating what the preview button does? WordPress Google Form doesn’t do anything to the Preview button. On my development site the HTML for the Preview button looks like this:

Clicking on the Preview button results in my browser opening up the page in a new tab. I tried it on Chrome and Firefox.

Hey Mike Walsh, I’m developing a PHP script with Google Spreadsheet and just found your blog! This plugin looks great. I’d love to dig into the code to see how you communicate with Google API. This thing is really amazing!

There really isn’t an API per se for Google Forms. Google Forms do have the ability to preset values through URL parameters however there isn’t anything else to interact with the form itself. What WordPress Google Form does is interact with the form itself through the WordPress HTTP API which is based on cURL and some other similar transports.

I am running into a couple of the problems mentioned, but am not able to fix them with the advice given. Here is the link: http://www.maxpvb.com/registration/ I would like the get the asterisk and check boxes on the same line as the text. Is there a custom css snippet you would recommend?

Hello –
I am running into a problem with just the installation itself. After I activate the plugin, and go to the settings page, I get redirected to a page that says “Error: 404 Not found” I can’t figure out what is going on, or how to actually get this working? Help!

Based on the URL of your form it looks like you are using Google Apps for a hosted domain. You need to make sure the form is published so it can be viewed outside of your Google Apps domain. When I try to view the form I receive a “You don’t have permission to view this item.” error. Your web server will encounter the same issue when it tries to retrieve the form HTML from Google.

Hi Mike. You’ve been so helpful to so many people so for that I want to say thank you. I’m having a similar asterisk * problem (showing up on a separate line) as many of the others but can’t seem to sort it out. Here’s the link to my page: http://www.curbsfitlife.com/wpgforms/athlete-intake-form/

To fix your asterisk problem add the following to the Custom CSS field (and make sure the checkbox to enable Custom CSS is enabled) on the WordPress Google Form plugin settings page (Dashboard->Settings->Google Forms):

Hi Mike, thank you for your willingness to help.
The changes I made was that I made the website in the folder ‘blog’ available from root and also implemented a rule in order to rewrite http://www.domain.com to domain.com
Also I created a child theme (but switching back to normal theme doesn’t give a good result either).
I tried other things (see forum) including the beta, but it still doesn’t work unfortunately. I hope you have a few more suggestions!

Ei Mike can you please help me. I have 4 differents forms, one for each lang i need, i create an HTML page to select the language and then when i click i redirect to another page, in that page i use the code

This used to work but now doesn´t work anymore, how do you resolve the URL problem in your plugin to show the form in the language you want?

The answer depends on your Google Form URL. You need to add the hl=XX parameter to your URL but need to prefix it with either a question mark (?) or an ampersand (&). The choice of which prefix character to use depends on whether or not you have any other parameters as part of the URL string. See this post and this page for more information.

Ei Mike thanks for the answer. I already had the ?hl=en or ?hl=fr in the URL and it works in IE an Safari but in Chrome even if you don´t have the login done in our google account it change the form language validation and buttons to browser defaut language.

That is a pretty simple thing to add so I have rolled it into the latest beta release. I am hoping this will be the final beta release so if you can check it out and let me know if there are any issues I’d appreciate it. You can find more details and the beta download here.

There isn’t a “for dummies” article although that is a pretty good idea. If you click on the Google Forms tag in the tag cloud on my site you will see a whole slew of posts on how to use various features of the plugin – I usually post about how to use a feature when I introduce it.

From your description, it sounds like you did it correctly. You really only need two things:

A title

The URL of the Google Forms

Your case sounds like a permalinks issue. Have you tried setting your permalinks back to the default setting and then try accessing the form using the View Form link? If that works, change your permalinks back to how you want them and try it again. Sometimes toggling permalinks back to default and then back to how you want them will rewrite the .htaccess file and the permalink for the Google Form custom post type will resolve correctly.

Hi Mike, thanks a lot for your plugin. It’s great but I get a “required field” under each field of the all the form. Even when I don’t ask for in Google Form ! I also had the * going under the label. Would you have an issue ? Thanks a lot

*** required question SOLUTION****
Got it , thanks allot Mike. First I added the “simple custom CSS” plug in, opened the plug in and inserted your provided code from the top comment and whamm!! done!!!, thanks man!

Glad it is working for you but you didn’t need to download a separate plugin for Custom CSS. The ability to add Custom CSS for your Google Forms is built into the plugin. On the plugin settings page (Dashboard->Settings->Google Forms) there is a checkbox to enable Custom CSS and a text box where you can enter your custom CSS. Any custom CSS entered on the settings page will be applied to all Google Forms. If you have CSS which should only be applied to a specific form, there is a Custom CSS field where you can add it when defining the form.

Hi Mike, I’m having the same issue as Jennifer. I’m putting my url in from the Google form and when I click on publish it says page not found. the url is similar to Jennifer’s comment on August 12, 2013
12:08 pm.

Thanks for the great plugin! It’s an amazing tool. I just wanted to see if you’ve been hearing of any reports regarding indentation of a form. So all of the sudden, an entire google form (and I use short code on a number of pages and in the text widget for my sidebar) indent all the questions. The introductory text of my form appears aligned left, but everything else, i.e. the questions, are one “tab” in… a single indentation. Can’t seem to solve it and this is a new issue. Thanks for any insight you may be able to offer.

I have not had any reports (here or on the WordPress Support Forum) of anything resembling what you’re describing. Because HTML doesn’t recognize tabs (they simply get compressed as white space like a regular space characters do) if you’re seeing some of your text indented, it is almost certainly due to CSS (most likely margin or padding). Now where it is coming from is what you need to figure out.

Have you made any changes (plugins, themes, etc.) to your site recently? If you have a URL you want me to look at, I’d be happy to do so. Post it here or use my Help and Support form.

The id for the wpgform shortcode is always a number. The number is the post id that WordPress assigns when the custom post for the form is created.

Did you define your form in the Dashboard yet? I am guessing not because when you do, you will have a link where you can “View Google Form” which works just like the View Post or View Page does when you create a post or page.

There is a UI within the Dashboard to demon forms. Look for the “Google Forms” menu on the left hand side of the Dashboard. When you define your form within WordPress, you need the full URL to the public Google Form (which you can get from the “View Live Form” button within Google Docs. All of the other options can be optionally set but the form URL is required.

Good day sir… I was trying to use your plugin on a website I’m working on since it worked well with my last website… Though I’m having problems with the plug-in at the moment… The form is displayed in an unusual manner which gives me a hard time to fix…

The CSS for the theme you are using defines all form input elements as “float: left” which is why the page looks the way it does. Everything is being floated. What you want to do is disable the float for everything inside the div.ss-form-container DIV element although I am having a hard time find a selector which will do that.

I’ll poke at it a bit more but wanted to at least let you know the source of the problem.

1. When I’m clicking on checkboxes (or other input boxes) javascript slows down and breaks whole page
2. Custom CSS in admin field “Form CSS” isn’t working (I must change wpgform.css to affect the look)
3. CAPTCHA is turn On but not displaying in form page

Can you point me to your page? I’ve never run into this issue before. I suspect there is some sort of Javascript conflict between my plugin and something else you’re running.

Did you enable Custom CSS? There is a setting on the plugin settings page (Dashboard->Settings->Google Forms) for Custom CSS. The checkbox to enable Custom CSS must be checked or any CSS you define won’t be loaded.

Are you using preset and/or custom validation? I am working on a known issue right now which causes the CAPTCHA not to show if other validation is being used.

Glad to hear that #2 and #3 are working. Regarding #1, I took a look at your site and I see sluggishness on checkboxes but even more so on radio buttons.

This is very odd and I don’t think it is something that WordPress Google Form is doing.

The best way to isolate the problem is to temporarily disable all other plugins and see if the problem persists. If it does, temporarily switch themes back to one of the WordPress default themes. I like TwentyTen for testing.

Hi Mike, I have a signup form that used to be displayed in two columns (and would change to for mobile devices). After the most recent update the form will only display in one column despite my many efforts to change it. You can see it here: http://andrewmcneilforcongress.com/contact/ Thanks!

When I load your site there is a Javascript error which is preventing the jQuery script that WordPress Google Form uses to complete. The portion of the script which makes the form into columns never runs nor does the validation of user data. In looking at the jQuery script which is generated by the plugin based on the form settings and other options, I find this fragment:

The empty string noted as required: true is the problem but I am not sure why it would be there. It looks like you may have used the optional validation feature but not entered the name of the field correctly or left it empty and I don’t handle an empty string correctly. Can you check to see if that is the case on your end?

I have found another jQuery validation problem which I am currently working on although finding time to finish it between work and the Thanksgiving holiday has proven challenging.

Unfortunately you cannot include the form response in the email message. While technically it may be possible to do so, multi-page Google Forms would make it difficult due to the way Google saves field values across multiple pages. The plugin would have to replicate something similar to what Google does in order to send an email on final form submission. It isn’t something I plan to add at this point as it is a fair amount of work.

That said, if you really need something like this, there are a number of articles which show how you can add a script to the Google Forms spreadsheet which sends an email when certain changes are made to the spreadsheet (e.g. a new submission).

There isn’t a generic answer for this – it is typically dependent on the theme and how it’s CSS affects the Google Form. My recommendation is to use a tool (I like Firebug) to inspect the rendered HTML (Google Chome’s built in inspector also works) to narrow down the CSS selector or class you want to define. There are a lot of CSS classes that Google defines which are all passed through to the form when rendered within WordPress.

You should only use one shortcode or the other, not both. My recommendation is that you use the wpgform shortcode although it looks like that is giving you an error. I put your form on my site as a test, you can see it here.

When you create the from with the Dashboard UI, what URL did you use? After you create the form, what does the “View Google Form” button do? It should render the form as a custom post type.

I am a newbee with Google Forms and now your Plugin. It looks very promising. I have gotten it to work with gform, as with Richard [wpgform id='861'] does not work. Is 861 just illustrative? How would i determine the proper id to use? Is there really much additional benefit in using wpgform vs gform if I am keeping it really simple? A separate question: right now the response is populated into a spreadsheet at Google Drive. Do you know if there is a way to get populated form image generated and e-mailed automatically to a target e-mail list?

The 861 id value you note is indeed illustrative, it is the value of the post id associated with anything WordPress manages as some sort of post type (e.g. posts, pages, and with my plugin Google Forms too). The easiest way to work with the form is to use the wpgform shortcode syntax which appears on the list of forms when you visit Dashboard > Google Forms. One of the columns in the list will show the shortcode syntax for that specific form and you’ll note they are all different.

Regarding your second question – I don’t know but I believe some people have written Google Docs scripts that automatically do something when a form is submitted and the result recorded in the spreadsheet.

Hi, I’m having trouble with a multi-page form. Whenever I advance from page 5 to 6 of the form (or from 6 to 7, depending on the answer to one of the questions), it jumps to the google form itself, instead of staying embedded on my page. Do you have any idea what could be the problem? The form is at http://lyf.tacl.org/registration/registration-form/

(If it helps, I used this plugin last year with an almost identical form, and didn’t have this problem.)

I have never seen that behavior but I just went through your form and sure enough, it does exactly what you say it does. The only thing I can think of is Google has changed something in how they navigate through multi-page forms that skip to sections. I’ll have to dust off my development form I used when I added multi-page support and see if it has the same behavior.

I also noted that you are still using the gform shortcode instead of defining Forms using the Dashboard UI and the Google Forms custom post type. I would strongly encourage you to change as I am no longer supporting the gform shortcode and none of the recent enhancements I’ve added are tested with it. By using the Dashboard UI it is easier to define the form and you can still place it on a page (using the wpgform shortcode) or you can simply use the permalink that is derived for the form to view it (which is what I typically do).

It already supports a CAPTCHA. If you are using the old “gform” shortcode format, you need to switch to the “wpgform” shortcode and define your form within WordPress using the Google Form menu on the Dashboard.

Yes, it is an issue I have been spending a lot of time on for the past week or so. If you look at my web site, the last three posts (this one, this one, and this one) are all about this issue.

You can try the v0.64-beta-2 release to see if it addresses the problem on your site. However, if your site does not have cURL installed, I do not expect it to work. The crux of the problem is a change WordPress made between 3.6.1 and 3.7.1 to the HTTP API. I don’t know exactly what changed, following it through the code takes a fair amount of time.

Believe me, I’d like to find an answer to this problem. Right now I expect to release an update that issues a notice when cURL isn’t installed warning the user about potentially incomplete answers.

Hi Mike, this looks great and simple but for some reason I do not see how to add into an existing page. It must be simple but I cannot seem to see it. My form does publish on my WP site but I want to add it into a page. Is there something I am missing? I am simply adding a google spreadsheet into a post. A basic attendee list.

Are you trying to put a form or the results of the form on a page? Either is possible. If you look at the list of Google Forms you’ve defined (Dashboard->Google Forms) you will see a column which shows the shortcode syntax required to add your form to a post or a page. That is the easiest way to do it.

Hey Mike, this is awesome as always. But the most recent Beta update breaks my site 🙁

We have a WPPhpBB Bridge that we use heavily, and I’m getting error codes there.

Warning: Invalid argument supplied for foreach() in /home/content/90/7781490/html/wp-content/plugins/wp-phpbb-bridge.bak/inc/wpbb_functions.php on line 534

Warning: require(includes/utf/utf_tools.php) [function.require]: failed to open stream: No such file or directory in /home/content/90/7781490/html/wp-content/plugins/wp-phpbb-bridge.bak/inc/wpbb_functions.php on line 560

This looks to me like a problem with the other plugin – have you tried to figure out what it is doing? All of the error messages are coming from WPphpBB Beidge. In fact, the path implies you might have two copies of the plugin running because you have “.bak” in the path reported by the error and in looking at the plugin’s code, it should just have “wp-php-bridge” as opposed to “wp-php-bridge.bak”.

I just looked at the code for WP-phpBB-Bridge and it looks to me like it is trying to do something I don’t think it should be doing. That plugin defines an action for ‘wp_insert_post’ which means anytime a post is created, it will do something. That is fine for regular posts but it also gets called for custom post types which is how Google Forms defines forms. It is fine to hook into wp_inset_post but it should check to see what sort of post it is operating on before doing anything. I don’t think you want form posts cross posted to PHPBB do you?

I’ve been trying to POST the form data to an additional script [which should send data to an autoresponder service], but absolutely none of the POST data from the form is available. PHP’s isset() function always returns FALSE on the php script. Even if I check for the POST form data in the root folder’s index.php [just to test] nothing comes up. Why is this so? Can you suggest a way around this?

I saw your comment while watching the Tennesssee-Iowa basketball game last night, I am not usually up that late!

I think I sort of understand what you’re doing – it sounds like you want to intercept the normal flow of WordPress and the Google Forms plugin and capture the form’s post data and send it along to another script. Is that right?

There are a couple of hooks you could use (“wp_head” and “init” come to mind but I’d have to test to see which is better) which you include in your theme’s functions.php file which would be a whole lot more elegant than modifying the header.php file. That said, I don’t believe that is the crux of your problem. I think you’re running into the difference between PHP (on the WordPress side) and Python (on the Google side).

Unless you’ve read through the Google Forms source code or any of the background posts on this site, it isn’t readily apparent that because WordPress uses PHP and Google uses Python, simply using the Google Form HTML code as is from Google won’t work. There is a fair amount of manipulation of the form’s post variables that happens to make it all work. So while you are looking for ‘entry.1041481935’, what actually is being posted is probably ‘entry_1041481935’. I’d do a var_dump($_POST) to confirm this but off the top of my head, I think that is what you’ll find.

Assuming that is the problem and you can detect when you want to do the intercept (how will you know it is a specific form submit and not some other activity?), I would use wp_remote_post() to send the data to your additional script.

Thanks for the great plugin. I have a question about prefilling the page url to my first input box.
I am using the same form on multiple post-pages (like a reservation system) and i would like to send the url with the form data to my drive file. (It will be used to check from where the reservation is send)

I am curious if I can use the hidden fields or placeholder for this? Or do you know a better way?
I have put the http_referer into a hidden field but it will only send the top-level url, not the page its on.

You could use hidden fields to do what you want to do. What I would do is define multiple forms within WordPress, all using the same URL to your Google Form but each has a different value for the field you want hidden with a preset value. Then use the appropriate shortcode code to drop the form the various pages. Depending on where the form was submitted from, the field in the spreadsheet will have the corresponding hidden field value.

Thank you for the reply. I have thought about adding multiple forms but there are way to many posts (at least 60), so therefore i was looking for another solution.
To get the same form for all posts I have put it in the sidebar on a post page. Ideally I am looking for a script or trick which catches the post url and then sets it as the (hidden) value.
But I am not sure that is even possible.. Thanks for thinking along.

That’s true, but the styles you provide are pretty specific. To be overriden, the author should first be alerted to the fact that css is provided by the plugin. Then the author has to figure out how to override the specifity by hand.

I reccomend simply adding a radio button in the admin interface that just turns off the provided styles. That would make things a lot easier for users of the plugin. And looking at this thread, it might also make things a little easier for you.

I don’t have this plugin hosted on GitHub, only within the WordPress plugin repository so posting issues here or in the WordPress Support Forum is best. My comment in default CSS implies the default CSS can be copied from the file provided with the plugin and added to the theme’s CSS as this is a fairly common use model.

You suggest adding a radio button to disable the default CSS. This already exists although I implemented it with a checkbox instead of a radio button. By default the checkbox is enabled, it should be unchecked when the default CSS is unnecessary if alternate CSS is provided elsewhere (e.g. in the theme CSS).

I will recheck the wording to make sure it was what I intended. Google changes their CSS periodically so there is a chance the default CSS is also out of date.

Hi, I’m getting a 404 error when trying to access the form on my WP site. I’m using your plugin for the first time and don’t know how to fix this issue. Can you help? (Let me know if you need more details)

These are the things I’m trying to achieve:
-get the label and the feild side by side on some of the questions (ie. all except the ‘I would like more help with…’ question
-make the ‘I would like more help with…’ field much wider so it’s a rectangle rather than a square.

I see the enclosing Div is displaying as: block… would making it inline or left work?

Moving the input boxes so they are up next to the labels can be done with a float like this although I don’t think it looks very good:

label.ss-q-item-label {
float: left;
}

You could use additional CSS to space things out but without putting all of the elements in a table, which would be hard, I don’t think you could achieve any sort of reasonable alignment using CSS. The plugin does support columns so you could have your form arranged in two columns.

To make the “I would like more help with…” box wider, you’ll need to separate rules for the input boxes and the text area. You have a combined rule to set them to 300px.

Hey. Your plugin is a huge improvement over the standard embedded forms. I have one small problem that I couldn’t resolve reading the FAQ and comments.
On the site below, when I fill out the fields and submit, the page redirects to google saying “incomplete fields.” In reality, the information actually gets sent to my spreadsheet. This tricks the user into submitting 2 or 3 times.
Any ideas why this is?
Thanks!http://www.sbs-english.com/contact/

I just submitted a dummy response to your form. It looks like you have the Google Form URL set for your confirmation page within WordPress and it is redirecting there after submission. Do you have the confirmation page URL defined for your form?

Hi, this is really strange, but when I go into to add a new google form through the UI in WP, I add all the info, save/publish it and the form goes blank. All the fields that I just filled out are blank. So when I go the form id page I get a 404 error. It correctly assigns me a url on my domain with /wpgforms/667 appended to the end. Do you know of any reason why I would not be able to add a new form through the UI?

This is very odd behavior and I’d suspect a plugin conflict of some sort. The easiest way to chase this down is to disable all plugins except Google Forms and see if the problem persists. If it does, then you have some sort of plugin conflict. Narrowing it down is a process of elimination, re enable the other plugins one at a time until it fails again.

If it is still an issue when all other plugins are disabled, it could be a theme conflict although this is pretty rare. It does happen sometimes with themes that add a lot of functionality to the Dashboard and don’t do it cleanly.

Thanks Mike, that helped. It actually ended up being the wp core that needed to be updated. It’s working fine now. Just one more question, when I test my form (I have a custom url for the thank you page) it goes to a quick flash of a standard google thank you message and then it goes over to my custom thank you page. Do you have any idea why that would be happening? Thanks!

The reason you see the brief confirmation page content from Google is due to the fact that there is no way to know for sure, due to multi-page forms, when the last page or confirmation page will be returned by Google. The best way to eliminate the brief display of the default Google confirmation page is using CSS to hide the content (display:none). I don’t recall off the top of my head what the CSS class is that you need to hide but if you turn off your redirection temporarily you can figure it out pretty quickly.

It is hard to know for sure without seeing the page which exhibits the problem. I have run into a couple themes which try to do something clever with the submit button to style it as part of the theme. In the process of doing so some attributes are lost which render the form non-working from a Google perspective. The Unite theme is one the ones guilty of doing this, hence the “Unite Theme Hack” option.

If you look at the HTML for the submit button and it doesn’t look like this, you have a problem:

Your contact form likely works because it doesn’t have any checkboxes on it. You have some Javascript errors on your site which prevent the jQuery script which fixes checkboxes to be compatible with Google (WordPress uses PHP, Google uses Python and the way checkbox parameters are passed is different between the languages) from running. Because the jQuery script doesn’t run, the checkboxes aren’t fixed and they look like a missing field on the Google side of the form submission. You will need to sort out the Javascript errors before it will work reliably. Use a tool like Firebug to see where the Javascript errors are coming from. It looks like it is coming from something you’re doing with Google Maps.

Hi Mike ,
you have already mastered the google form , so is it possible for you to kindly create a workaround which doesnt require a website built using WordPress , i am using google blogger and want custom thank you box instead of the normal google message which is displayed when a form is submitted along with the text that form is created using Google form , is it possible for you to do so , kindly help

Sorry but this is way out of scope of what my plugin is intended for. I know almost nothing about Blogger and can’t for see any reason why I would ever use it over WordPress. I have no idea if Blogger supports any sort of plugin system but if it does, someone, not me though, could certainly use my plugin, which is open source, as a model of how it might be possible to accomplish the same thing with Blogger that I did with WordPress.

Hello! I have to say, this is a great plugin, or at least it was. It worked perfectly until a couple of days and now I get this error on all my forms: “Problem with the SSL CA cert (path? access rights?)”.

Does anybody know what could be the problem? I didn’t do anything, I just appeared out of nowhere… Thank you in advance!

I fixed it, but I really don’t have any idea how. I played with the advanced options of your plugin (the ones for disabling cURL, SSL Verify and Local SSL Verify). After disabling then enabling them (and trying different combinations), the forms started working again.

Have you enabled custom CSS? You need to have the checkbox on the plugin settings page checked for any custom CSS to be loaded. I’ll look at it later tonight when I get home and am in front of my computer.

Mike, Got it, all set . . . there is still some funkiness around the size of the input fields like it says in the documented CSS you provide. It is working well enough. Thanks for developing a great plugin.

I think the “Edit your response” link relies on a Cookie which isn’t persistent when not running the form as part of Google Docs. I don’t know for sure but that is my guess based on the behavior I’ve seen. Because the actual post of form data is done using the WordPress HTTP API, there really isn’t anyway to get that Cookie, if that is how it is done, back to the user.

Where do you want to display the data? There are a couple plugins which can show the Google Spreadsheet which stores the submission data within WordPress. If you want to simply echo the data the user submitted as part of confirmation, there is no way to do that as none of the form variables which are posted to Google are stored in anyway.

Hi Mike – Your plugin is easy to use and works great! I’ve combed through the comments here, but didn’t quite find was I was looking for. To fix the problem of the required field asterisk dropping to the line below, I enabled custom WordPress google form CSS and inserted this css which I found in another discussion group:

div.ss-q-title {
display: inline-flex;
}

The problem appears to be resolved in Chrome while I’m still logged in to my WordPress account. But when I load the page with the form (http://ergsprints.com/volunteer/) in Firefox, or in Chrome on another device, the awkward line break remains. Ideas?

Sorry for the delayed response, I’ve been traveling for work with little time to look into WordPress issues. I’m back home and going through the list – the link to your site doesn’t resolve so I can’t offer any specific solutions but in general, everything you mention can be addressed with CSS once you get the proper selector identified.

Great one, Mike! I have a decrypt function which solves the url query encryption… any idea of how i can implement a javascript maybe to pass a descrypted value to the a field since i cant get it directly from the url?

Never mind on that, I am using the shortcode now and fixed this… I generated a link with encrypted from a previoues page and then passed it along the url.. but using the shortcode on my own pages the problem is solved..

BTW, I can’t make the Google Form Text Default Overrides work, neither the validations (the form wont submit, but it doesnt show the error values I inserted on the Field Validation section).. any tips on this?

I would need to see the form to give you a definitive answer. I’ve seen a couple cases recently where there have been conflicts with the “error-message” CSS class. The solution was to use the CSS prefix option to make the CSS classes within the Google Form unique.

I have found and fixed the jQuery bug which was preventing the jQuery script from running. Please update to v0.78 and that should at least let the validation run. Hopefully that is all that is required to resolve your problem.

There is still a jQuery error. Can you change something? You have the validation of your form fields set to “email” and then have this as a value “Insira um e-mail válido”. Can you remove the “Insira um e-mail válido” and just leave the text box empty? It should eliminate the jQuery error and hopefully allow the jQuery script run.

I think I need to account for the combination you tried to use. I read the jQuery Validate documentation as email could only be true or false but I think it should actually work like the required option does where if you supply an value, the message will take on the value and the “true” will be inferred. Marking the field as required in Google Forms is sufficient for the Validation of required fields to occur. Now if you want custom messages, what you have done is the right way to do it.

Oh, it is possible to change the date fields to display a single line (dd/mm/yy) and when clicked popup a calendar to pick a date? Mine show 3 select fields on for day, other for month and one for year..

Not easily. Google actually defines the form as three separate fields and that is what WordPress receives when the HTML is requested so that is why you see it that way. What Google is doing when you view the form using just the URL and you see the date picker, is running a piece of Javascript which replaces the three input fields with one HTML 5 field of type “date”. It may be possible to do this with jQuery but it would require some additional work on my part.

Love your thing, really helped to integrate a form into a site. Only thing I’ve noticed is that in doing so it drives things like validators etc absolutely bananas. Are there any ways to resolve some of them or is it just something we have to live with?

I am not in front of my computer so I can’t run the validator right now myself – can you elaborate on what sort of errors you are seeing? The HTML from Google should be pretty clean, I am trying to think of what would be poor HTML and can’t think of anything off the top of my head.

I just took a quick look at one of my simple forms I use for testing and development using the validator link you provided. I tested it within my WordPress site as well as the source URL for the form as well. There are a lot of validator errors but in my highly unscientific analysis, it appears the majority of them come from the Google Form source HTML itself as opposed to the plugin. There really isn’t anything I can do about the HTML provided by Google. It would be a major effort to “fix it” and I have no plan to do that. I did see a couple minor things in some of the HTML the Google Forms plugin generates and when I get a chance I will take a look at fixing it but I don’t think it will make much of a dent in the validation report.

It is unlikely you’ll be able to get the form to look like it does within Google Docs and that is by design. The intent of the Google Forms plugin is to have the form take on the look and feel of your site’s WordPress theme. If you want it to look just like it does within Google Docs, you can achieve that with an embedded IFRAME.

Now if you want it to look like the rest of your web site, then the Google Forms plugin is for you. Because every WordPress theme is different, there is no “one size fits all” answer to integrating your form with your theme. You are welcome to submit a Help and Support request and I’ll look at it. In almost all cases, I need to see the form in order to make suggestions on how to improve its appearance.

You can request Help through my Help and Support form. That said, I’ve looked at problems with adding forms to tabs in the past and in most cases, there was a Javascript conflict which was causing problems. I am happy to look it though, so go ahead and submit a help request.

I hope you don’t mind just one more request. If I wanted to also use paragraph text for the “Postal address” field, however, a lower and a narrower than the “Abstract” field below it, is that possible? (I have updated the form so you can get a better idea of what I mean.)

I added the CSS code you provided; however, my “Postal address” and “Abstract” fields are still the same size. I suppose I have to identify the field. How do I know which ID to target? Do I then apply the code you last provided to each individual field?

I use Firebug to examine page elements and figure out the CSS settings. Each form element has an “id” attribute, the one I mentioned below is “entry_929374341” and the using the # { } notation in CSS means that rule only applies to that specific element. If the element id changes for any reason, which is possible since Google generates the form HTML, then your CSS would need to be updated. A lot of CSS tweaking is trial and error and sometimes you have to add “!important” to a rule to override priority.

In the help text of my google form I have used a link to a pdf document which I’m using as a sort of ToS agreement before someone clicks a checkbox agreeing to the terms. Is there anyway to force this link to open in a new window? Currently clicking the link leaves the for page. When a user hits the back button their data is gone and they must start over. Any help is appreciated!

Great suggestion, the link is just dropped into the help text and it becomes a clickable link. I tried your suggestion but the added code does not remain part of the link and therefore has no change. Any other ideas or ways to make this rule globally within your plugin or per page?

If you are dropping your form on to a page or post with a shortcode you could always place the TOS link, with the _new attribute, above shortcode so it would appear on the same page but it wouldn’t be part of the form itself. The only other thing I could think of would be a small jQuery script which modifies just the link to your TOS but that is fairly involved for a one off case.

You know – try turning off HTML filtering in the plugin settings (it is a setting on the “Advanced” tab of the plugin settings page) and see of the _new comes through. It might be filtered out due to the setting on the call to wp_kses().

Sorry for the delay in replying but I only just got to trying your idea. Unfortunately it did not work. It just appends the “target=”_new” after the link. The first half (the url) a link and the 2nd just text. I tried the same also including all preceding/related code i.e. “a href”, etc.

Is there any chance you would consider incorporating a rule into a future update to “open all links within a form in a new window”? It just seems to me that this is all someone would want. The way it works now users leave the page in the existing window causing the loss of any data entered.

Very good plugin. You have obviously put in a lot of time. Thank you for that.

I notice that in your latest bugfix you have tried to fix the Google default text bug. I’m afreaid it is still not working. I’m running the latest version of WP, but when I want to override the English text, it still shows up.

The Google Forms plugin hasn’t changed in a while so if you’re seeing different results today than you did a few days ago, something else must have changed. If you can elaborate further on you’re seeing then I can take a look at it.

See Google’s blogpost (https://support.google.com/docs/answer/6281888?hl=en) related to the completely redesigned Google Forms. Google will be migrating forms from the old layout to the new layout as I understand the related posts og Google’s page, and I have not found a way to “downgrade” my forms to the old version.

Any idea when this will roll out? It breaks the plugin because Google is no longer using HTML input elements. To be honest, I am not sure what to do with this. I’ll have to dig into but it looks like it is very dependent on Javascript and the actual inputs are all hidden but what you see on the screen are styled DIV elements which do something via Javascript. My guess is this will be a lot of work to deal with.

Hi Mike,
Excellent work with this plugin. I’ve been using it for over a year.
I recently updated from v0.72 to the latest v0.84 but didn’t go quite right.

1) It’s now showing the Google Default Text, while in the older version was following my site font.
2) I get a message: “Please enter a valid email address” in red text under the email address box, which stays there even if the user misses out on some other Required fields, so they only thing they look at is that message.

Is there a way to resolve the above or else to revert to the older version. I have the older one running on my demo site.

If you are seeing error messages before filling out the form, most likely your theme defines a CSS class, usually error-message, which is the same as a class Google Forms uses. The solution to this problem is to use the prefix option to ensure that all of the CSS classes on your Google form are unique.

In the mode you are using there is no way to hide the brief display of that page because Google Forms doesn’t know until very late that the content received from Google is a confirmation page as opposed to the next page of a multi-page form. However, what you can do, and what I recommend, is use CSS to hide the Google Form confirmation content so the brief display of the page has no real content on it before redirecting the confirmation page. The easiest way to do this is to temporarily turn of the redirect so the Google Confirmation content is displayed, the using a tool like FireBug identify the HTML elements which contain the confirmation content and define CSS (display: none;) to hide the content. Once the content is successfully hidden, re-enable the custom confirmation page and check the results.

I didn’t check it but I think this custom CSS will do the trick (copied from a Support Response on WordPress.og):

I am using WordPress 4.4. There seems to be bug in the captcha in Google Form. Among three calculation questions displayed as captcha, it shows one of the answer as incorrect although the answer is correct. Also it lets users submit form although they enter wrong answer for the captcha calculation questions.

This could be any number of things. Is the form published? What are your permalinks set to? When viewing the form on the Dashboard (where you create the forma and set all of the various settings), after you save it there is a “View Google Form” button – does it take you to form?

My boxes are still a little short, but I think I remember reading one of the above posts that mentioned how to do it.

Thank you Mr. Walsh for building the plugin- I’m using it on two sites- we love it because we can access the data on our phones- a feature which is important for outdoor events where you can’t really carry around a laptop.

Hi Michael, i am working with your wpgform plugin and it works like a charm under normal circumstances. I ran into a problem when i had to insert the same form twice in a page ( i know it sounds a weird requirement but it is needed to be done ).
Even if i create two wpgform (which link to a same google form) they dont seem to work. Plesase suggest me how can that be done.

The problem you’re running into is some of the element IDs which come from the Google generated HTML are duplicated when the form is rendered twice. Fortunately, the solution is pretty simple. The “wpgform” shortcode supports an optional “uid” parameter which is a unique id for the form which is applied to all of the elements which could possibly conflict.

See this post on my site explaining how to use the uid parameter from when I added the functionality a couple years ago.

Thank you Mike for the response 🙂
i have used uid in the following way:

[wpgform id='5' uid='201']
[wpgform id='10' uid='202']

it works fine and entries do get inserted in their respective spreadsheets but say for example i filled the form with id=5 and clicked submit, the response message should only show where the id=5 form is but id=10 form also starts displaying the response text which was meant for id=5 and the fields which should be visible for id=10 also disappear.

i can share screenshots with you if my explanation isnt clear if you share your email id with me 🙂

I will have to take a look at this problem as off the top of my head I don’t recall what the resolution was. What do you want to happen? If I submit Form A then show Form A confirmation and Form B on the page? Only show Form A confirmation? Redirect to another page?

I tried using this plug in and it actually worked! … for about 30 seconds. It was weird. After designing the form and putting the link in the Google Forms plug in field, I published the form and then clicked to see a preview of the site, and the form was there on my site, which I was excited about, but I wanted to tweak. As soon as I did that, I started getting Page Not Found warnings (http://pakpourlaw.com/wpgforms/client-intake-form/).

Not sure what I did wrong.

I tried deleting it entirely and starting a new one, but I get the same warning.

To style the form you define what the plugin refers to as “Custom CSS”. Custom CSS can be added for the whole site by adding it to the Custom CSS section on the plugin settings page (Dashboard > Settings > Google Forms) or on a form specific basis (the CSS is added as part of the form definition). In either case, Custom CSS must be enabled (Dashboard > Settings > Google Forms -> Enable Custom CSS checkbox) for the CSS to be output as part of the page the form resides on.

Figuring out the CSS can be fairly simple or fairly complicated, a lot of depends on your CSS knowledge and how your theme constructs a page. Personally I use Firebug with Firefox (although Chrome’s element inspector works just fine too) to figure out CSS selectors and to tweak CSS settings before I save them in WordPress.

Google defines numerous CSS classes. Many of them are included in the plugin documentation here although it is likely that list is out of date at this point.

Can you verify whether your plugin is compatible with the new version of Google Forms?

When I create a form with the new Google From design, the radio boxes don’t come through correctly. However, after going back to the older Google Forms design and recreating the form in WordPress, it works again. Here’s how I was able to “opt out” of the new design. https://support.google.com/docs/answer/6281888?hl=en

Just wondering if this is on my end or yours. Great plugin by the way, thanks for making it.

Unfortunately the plugin is currently NOT compatible with the new version of Google Forms. I am not sure (a) if it is possible to make it compatible nor (b) when I will have enough time to sit down and plow through it. The new version of Google Forms is implemented very differently than the prior version and is heavily dependent on DIV elements which are handled with Javascript instead of regular HTML input methods. Why Google chose to do this I have no idea but it broke the plugin.

I just saw this (I am having an comment notification issue on my site right now) – looking at your form it appears you have resolved the Submit button problem. My guess is you had to downgrade the Google Form to the prior version. Do you still have an issue?

You can use the Google Forms plugin to do this. To use a custom confirmation page you create a WordPress page with your confirmation content on it. When you define your form, enter the URL for the confirmation page entry box and as long as you don’t have any Javascript errors on your page, you should be good to go.

I’m a WP newbie. I’m using your plugin and find that there is a blog column to the right of my Google form, as you would expect from a post. Can that be suppressed so the form appears as a page? Also the dropdown values for a question appear in the form

Glad you got it working. I’ve looked into supporting the new version of Google Forms a couple times but it isn’t easy. I haven’t even figured out a way to detect if it is the new version of the form and issue a warning. Time to work on it has been an issue lately due to a work project taking every single free cycle I have.