Google Docs RSVP Guestlist Plugin for WordPress

Version 2.0! (Dec 2014)

New version that supports the new Google API. This version has a revamped authentication system. Please install and follow the instructions on in the configuration page. Thanks to Chongsun for the new code. He did great work.

New repository! The codebase is now located here:  You can either download the plugin from or get it here (zip it up and upload it)

Current version: 2.0 Please use carefully, make sure you have backups of all your guest information in a separate spreadsheet. We cannot guarantee a perfect RSVP system.

Also, you need to hand-test each code you send out: right now, we are tracking a bug where certain codes (e.g. TT3020) aren’t working, but others do (e.g. xy123). 

Spanish version [out of date]! (Thanks to Gorka Rodrigo gorka [at] – Irontec: Internet y Sistemas sobre GNU / Linux Download: wp-guestlist-plugin_es.php [out of date] (This should no longer work, leaving it for posterity’s sake for now.)

Requirements: WordPress 2.5+ (untested on older versions), PHP 5+

This plugin allows you to add RSVP and guestlist functionality to your WordPress site. It tracks RSVPs for ceremony and banquet. Additionally, guests can leave custom messages for the planners. The guestlist is maintained with a Google Docs spreadsheet which is very easy to use.

It was originally designed to be a wedding guestlist that I made for a friend (congratulations to Mike & Di!).

Features Bulletlist:

  • Customizable RSVP page
  • Connects to Google Docs Spreadsheet for guestlist
  • Planners can write custom messages to guests
  • Guests can send custom message to planners
  • Email updates are sent to the planner
  • Wedding features: Records responses for Ceremony, Banquet, or Hotel Reservations


  1. Using a Google account, create a new Spreadsheet at
  2. The spreadsheet must have the following 7 headers: Guest Name, Code, Custom Message for Guest, Ceremony, Banquet, Message from Guest, Hotel
  3. Fill in the guestlist with names, codes, and an optional custom message. Make sure the code is not guessable, for example: short numeric codes are probably a bad idea. A nosy guest might punch in random numbers and see guest information.
  4. Download, unzip, upload, and activate your plugin. (For details on how to do this with any WordPress plugin click here.)
  5. In your WordPress site, go to “Settings->Google Docs Guestlist” and fill in the account information and Google Docs title and sheet information.
  6. Create a new wordpress Page and put the text:

    Please type in the code from your wedding invitation below:

     in the content box. The plugin will replace it with the RSVP code.
  7. Now, guests can type in a code and fill out the reservation form, which will send an email to you and update the spreadsheet. Note: Once guests have filled out the form, their RSVP code is no longer usable. 

Thank you! Good luck with your planning efforts. Remember to allow guests to contact you in other ways in case of digital emergencies.

We look forward to any comments. If there is a good response, we may incorporate your suggestions into the next version.

This code is released under GPLv3. If you create a new version of this plugin, make a fork at our github site.




+ One cool thing you can do with the spreadsheet is to run typical spreadsheet operations. Mike added a “Running tally” to his spreadsheet so that he could keep track of attendance. Pretty cool! So long as it doesn’t interfere with the code section, you’re good to go.




– Updated to work with Google Spreadsheets after they changed how GData works. (Thanks to Brice D. for the bug fix)


– Cleaned up the code when you turn off the hotels options

– Fixed some typos when it sends out the emails

186 Responses to “Google Docs RSVP Guestlist Plugin for WordPress”

  1. Megq says:

    Giff – Or anyone that can help…

    I am for some reason getting the Oops error with every code I enter. I followed the steps correctly I believe, and I read earlier comments, I feel a little lost but think this is the perfect solution for my RSVP! Can you help me?

    — Ok, this will take some php knowledge… good luck here, but you could try enabling the debug messages and using the information from those messages to figure more out: (Click on Plugins->Editor select the google docs guestlist, find lines like this:

    $outputtext .= $e->getMessage() . " " . $e->getTraceAsString();

    and uncomment them (remove the // that is in front). Then try running the rsvp and see what the error messages say. Good luck :/

  2. John says:

    I love how this is working! It’s so close to perfect for us! I was curious about a couple of things though:

    Is there a way to change “Banquet” to “Reception”? Can I just search the code and replace all instances?

    Also, when a guest logs in, it says “We have reserved 1 seat for you!” What about couples? Is there a way to activate a field that would say “Total number of guests (including yourself) will be attending…” and they could enter a number. Or do you just suggest giving each and every person a unique code? Seems unnecessary when most of our people are married. Should I just do it a different way?

    You should be able to search the code and do a replace. If you have two people as a couple or more people as a family, give them all the same code. See the screenshot for an example

    Otherwise.. Great job with this!

  3. michael Triplett says:

    Wondering how i get the Banquet to show up on some and not on others..
    do i just use the same code there or what? great plugin!!
    Interesting challenge. I don’t think the code can support that though. It would take a PHP programmer to go in there and add code that said: “if the invitee is not invited to the banquet, don’t show the code thing”. One solution is to not have a banquet button and instead use the custom comment. So, for everyone who is invited to the banquet, have text like this: “Hi, we’d like to invite you and your family/guests to our banquet! The time and place is blah blah blah. Please write us a comment to let us know if you are attending or not.” The only sad thing here is that that means the response for the banquet is free-form and people might forget to indicate whether or not they are attending the banquet which would lead to follow-up communications.

    The other solution is to only send an RSVP code to the banquet invitees and say that the ceremony is an open ceremony.

  4. Jin Lim says:

    does this currently work with the latest version of word press?

    3.0? probably, but no reports from anyone who has tested it. It’s pretty simple code that doesn’t depend on much wordpress functionality.

  5. Marc says:

    @Michael, with the help of Andrew Garn, I have been able to have what guests are invited to be determined by what type of “guest” they are. So for my wedding I have guests who are invited to the ceremony, the cocktail reception or the dinner, and any combination of all three. This involved some extra code, and a “guesttype” column in the google docs sheet. For more info you can reach me at mhjansen79 at gmail dot com

    @Jin, I’m running 3.0 and have no problems with this plugin.

    What’s wrong with you people. You are all so awesome. — Giff

  6. dede says:

    Dear all,

    Does anyone know if a similar set-up can be arranged for a Blogger site?
    As a ‘widget’ or as ‘html’?
    If you know anyone who can do this, please let me know – would be amazing!

    Thanks in advance!

  7. Luke Richardson says:

    I’ve just tested this out on myself. Everything went well until I submitted enter. The moment I did this it came up with an error????? It did however fill in the form.

    How can I remove banquet from the list?

    What did the error say? … to remove the banquet from the form you need to comment out the relevant part of the plugin file. I think there’s a previous comment about that… anyways, look up how to commnet out code in PHP, search the plugin source code for the form stuff from the banquet and comment it out. … sorry that’s all I got, good luck!

  8. Jason says:

    I can’t figure out where to put in codes? I’m I a complete tard? Why do we need codes?

    you invent codes and write them in the google doc. This is meant to allow you to restrict who can rsvp to your wedding… if you don’t need codes and you just want to do a simple survey, it might be easier to use google forms

  9. Andrew says:

    I’ve helped quite a few people now with this by email. (Just trying to contribute, as I used the plugin myself) and I’m still willing to provide help if you are willing to be patience with my response time. Quite busy at work.
    I can be reached here:

    If you like this plugin. Donate to the original plugin author by clicking the button at the bottom of the page 🙂

    Andrew, your participation is an unexpected blessing. Thanks for being awesome. -Giff

  10. Markus says:


    Great plugin, works very well. I trying to change some text in the code and that works fine. But one big thing that dosen´t work is scanadinavian letters like, åäö.
    On the webpage it will show like: �

    Is it possible to solve this on a easy way?

    Sorry for the very late response. This is a matter of character encoding. You should look into supporting UTF-8 in your installation…(I think).
    So, I would try modifying the header of your php files to include: header('Content-type: text/html; charset=UTF-8'); or alter your php.ini to do this. You can probably email your hosting service for help, too. Here is some more information, but it might be a bit technical: UTF-8 all the way through.

    Hmmm actually, as I think about this problem, it might be an issue about how the characters are encoded and sent to Google Docs. This only happens when data is returned from the DB or when you input?


    One other feature idea, could you add food selections? Like meat, vegiterian etc. Then it will be comple =)

    But great work, I really like it!

  11. Vixay says:

    Can anyone help me with this plugin? I keep getting an error to try again. After uncommenting the debug lines of codes I get this:

    Unable to Connect to ssl:// Error #13: Permission denied #0 /home/www//address editted out/////wedding/wp-content/plugins/google-docs-rsvp-guestlist/wp-guestlist-plugin.php(277): Zend_Gdata_ClientLogin::getHttpClient(‘myemail@gmail.coml…’, ‘mypassword’, ‘wise’)

    This looks like it is saying that my password is wrong but it is not. I’ve also turned on zend optimizer on my server php settings to make it isn’t that since apc was turned on. Any other suggestions?

    Try removing from your username? -Giff

  12. Vixay says:


    I tried changing the but it doesn’t work. Would it have to be something with my url redirect since the site is and the code is inputing the www in front of it? I’m just trying to weed out all the possibilities. I am willing to donate if I can get this to work and I have not come across any other rsvp plugin like this that would work for me. Please help me. Thanks

    Try removing the redirect. At this point, I’m just giving suggestions, that’s all I can do. Also, try installing the plugin on a different wp installation/server as a test if you think there’s something odd about the domain.

  13. Vixay says:


    I tried it on a diff domain with a diff install of wordpress and still it doesn’t work. perhaps something may have changed on googles end as well. I might have to say that I may have to throw in the towel on this one. Thank you for the fast response though. I wish it would’ve worked for me. Thanks V.

    — Strange. well good luck. Checked my own test install and it was working, so I don’t know how to help. Also, I took a quick look, if you password is wrong this is what you’d get: “BadAuthentication” not “Unable to connect” — I bet your server doesn’t allow ssl connections from the serverside to the rest of the world. So you’d want to try this on a completely different server. or contact the administrator to unblock this functionality for PHP. A very brief google seach mentions openssl being necessary in your php installation….

  14. Vixay says:


    Got it working. Thanks for your suggestions. It was on my server side not allowing outgoing connections. Now to customize the plugin….


  15. BradyT says:

    Hi! Can anyone help me troubleshoot this response I’m getting? Thanks in advance … this plugin rocks, btw!

    Expected response code 200, got 400 …[extra stuff clipped]

  16. BradyT says:

    Nevermind! I had my fields off on the Google Doc … thanks.

  17. megan says:

    Is there a way to turn off the “banquet” question altogether?

    Do to the nature of the event we only need attending: yes | no

    A previous commenter asked about this and I recommended that he edit the plugin code to hide the banquet option [see comment]. Sorry for the complexity!

    1. Go to Plugins –> Editor
    2. Select plugin to edit: Google Docs Guestlist, click Select
    3. You’ll be editting: Editing google-docs-rsvp-guestlist/wp-guestlist-plugin.php
    4. Ctrl-F to search for the text: Banquet:
    5. Comment out the Banquet: stuff by adding // to the beginning of each 9 lines of code (just before the Message for the guest section.) See for examples of commenting.

  18. Danny says:

    The plugin gives error when used with WordPress Version 3.1.2:

    “The plugin generated 1 characters of unexpected output during activation. If you notice “headers already sent” messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.”


  19. Danny says:

    It produces following error on the site:

    Warning: Cannot modify header information – headers already sent by (output started at /wp-content/plugins/google-docs-rsvp-guestlist/wp-guestlist-plugin.php:1446) in /wp-includes/pluggable.php on line 897

    Thanks for the update. Very busy at the moment. Will get to this when I can. Anyone else see this problem? -Giff

  20. pas says:

    is there a way i could add each guest with the same code horizontal?
    Programming advice only, sorry: The plugin uses a variable called outputtext that will hold all of the HTML. Under the case ('edit'): section, there is a loop that creates each form and puts it into outputtext. (for ($i = 0; $i < $listFeed->count(); $i +=1) {. between the braces for that loop, you could add table html (e.g. outputtext.="<td>" and </td> stuff with the <table><tr> stuff outside of the loop).

    but having a maximum so it does not go over the page.
    This is more complicated but could be accomplished with a 2nd loop.
    Again, good luck, sorry that this advice requires HTML and PHP knowledge. Giff

  21. Nick Stewar says:

    I got the plugin to work but after a guest enters in information and hits submit, they get “Sorry, our records were not changed.Please type in the code from your wedding invitation below:”

    The information still updates and they can’t reenter their code. I would just change this message in the code but I am afraid someone might have a real problem and we wouldn’t know.

    Any ideas on what I can do to get to the bottom of this?

    Hmmm.. that message is supposed to come up if your code already has a banquet or ceremony answer inputted. I think that you should do a little more testing to figure out what’s going on. Do you already have a default answer in your spreadsheet? I suggest making sure you know exactly what conditions create that error message. Make sure your codes are unique, etc… b/c that message means that nothing has been updated. -Giff

  22. Nick Stewar says:

    Hi Giff,

    Thanks for the reply. I Tried making a whole new spreadsheet with just a few test entries. I tied it to a new google account. Same problem, entries get recorded and an email fires off to the planner email saying they rsvped but user gets an error message. Anywhere else I can look or anything I can do to get to the bottom of this?



  23. Matt Castle says:

    Hi Giff,

    For the record I’m having the same issue as Nick– This is the second time I’ve used your fantastic plugin but I didn’t have this issue last year. Perhaps something changed on Google’s end as they’ve updated their Google Docs system a bit? Thanks!

  24. admin says:

    Nick said that his php error log said this: [16-Aug-2011 17:19:17] PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/services/vux/php5/lib/php/extensions/’ – /usr/services/vux/php5/lib/php/extensions/ cannot open shared object file: No such file or directory in Unknown on line 0

    what does your error log say?

  25. Jane says:


    I love your plugin! I just have a question about whether it would be possible to input another option for menu choices under each guest name when they rsvp.

    For example, under “Ceremony: Attending, Not attending; Banquet: Attending, Not attending” there would be another line for something like “Entree: Beef, Salmon, Vegetarian”.

    I understand that I’d have to add another column on the Google Docs spreadsheet, but would it be easy enough to add the code for it into the wp-guestlist-plugin.php file?

    Thanks for your help! 🙂

    Hi, glad you like the plugin. Unfortunately, to add another selection would involve changes to multiple parts of the code, not something I can accomplish given my current schedule. wish you the best.

  26. Daniel Bipes says:

    I was wondering it was possible to add a column for number attending, or +1. Something to allow for a couple to have one code for the both of them. Any help is greatly appreciated.



    This should work. Just have the same code for two names. (You can name one person “Guest”). Try it out and see if that makes sense. The screenshot shows something like this. – Giff

  27. Alicia says:


    First of all, I really love your plugin! But it still doesn’t work for me 🙁
    I also get the Oops error.. I don’t know what it means and what to do about it.

    When I enter the unique code I get an huge error, the first thing it says: [There was a error. Please consult the source code or an experienced programmer. 🙁 ] A worksheet id must be provided for list queries.

    Hi, hmmm…. what exactly does the oops error say? Did you type in the proper worksheet id for the setup? each spreadsheet has 2 or 3 worksheets the name of them is at the bottom of the webpage.

    What does this mean exactly? Is it an option in my Google Spreadsheet or so? I have tried everything and don’t know what to do anymore..



  28. Lakeita says:

    Is it possible to have guests enter their name instead of the code on the front end. I don’t want to get rid of the code. I still need the code for groups.


    Well a quick hack would be to make their name the code. Beyond that I think the programming would be more involved

  29. Shawnimis says:

    Hey awesome awesome plugin, have an issue might be with the theme I am using. I have tried the plugin on another site of mine and it works. I can always link the cite to the my other cite but rather not to. Any ways, basically when I put in the code it load but doesn’t go anywhere.

    cite is and go ahead and use a mock code 1642. if you can figure out awesome

    Got “No match”. but then again, i missed your comment and tried it almost 3 months later… giff

  30. Gush says:


    Does this plugin still work with the latest WordPress?
    I’ve added wpgc-googledocsguestlist to the page, but the plugin code does not load, page just shows the text “wpgc-googledocsguestlist”

  31. Pete says:

    This is exactly what I was after, however im running WPML and needed to have two different languages. Is there any way I can install the plugin twice and then change the English labels to be my other language?

    Also is there any way to add extra column checks i.e.

    “Please confirm your address” and “Please enter a contact telephone number”

    Love the plugin!!

  32. Anne says:


    Just wondering if anyone has attempted to use this recently. This is EXACTLY what I need for a wedding website I am building for a friend. When I try using this code, I get “[Oops. You found an error. Please try again or contact X at to confirm your response.]”

    Could someone please let me know if there is a new update for this plug in? Or know how to confgure this with the latest WordPress 3.9.1?

    Thanks so much!!!

  33. Pete says:

    FYI, since google updated their gsheets this doesnt work with the new ones. Check the URL and if it has a KEY= in it… it should work but if it is something like /d/asdw45324tasda then it wont work sadly!

    Version 2.0 now works! (Gifford)

  34. chandra says:

    Fatal error: Call to a member function getListFeed() on a non-object in /home/devwebmu/public_html/wp-content/plugins/google-docs-rsvp-guestlist/wp-gdrsvp-plugin.php on line 486

    i tried to enter one of my guest code, but all that appear was that line…
    what is there something wrong with the settings or what???
    thanks before

  35. admin says:

    Hi Chandra,

    Looks like you configured your plugin wrong. This error happened because it could not find the worksheet by the name that you provided. (e.g. Sheet1) Thanks for the comment. I’ll look into getting a better error message.

Leave a Reply

If this was helpful for you (or any other event), please consider donating.