Google Docs RSVP Guestlist Plugin for WordPress

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

If you downloaded 1.2 before 11/20/2008 you might want  to download it again. It was missing Zend files. - Thanks for noting this Jack.

Versions 1.1 and older do not work w/ Google Spreadsheets anymore.

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).

Download:google-docs-rsvp-guestlist.1.2.zip

Spanish version! (Thanks to Gorka Rodrigo gorka [at] irontec.com – Irontec: Internet y Sistemas sobre GNU / Linux http://www.irontec.com) Download: wp-guestlist-plugin_es.php (Rename this wp-guestlist-plugin.php and replace the english version with it.)

Requirements: WordPress 2.5+ (untested on older versions), PHP 5+ (This is essential, you will get an unexpected ‘;’ error on line 276 if you are using an older version. Sometimes, PHP 5 is installed, but your web server, Apache, has been configured to use php4. Use phpinfo() to find this out and contact your admin to fix it.)


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

Instructions

  1. Using a Google account, create a new Spreadsheet at docs.google.com
  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: wpgc-googledocsguestlist 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, let us know and we may link to it.

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


Thanks!

—————————-

Tips:

+ 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.

—————————-

Updates

v.1.2.

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

v.1.1.

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

- Fixed some typos when it sends out the emails

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

  1. DW says:

    As a follow up, I used the ‘ instead of ” in the href, and the URL worked fine. Here’s the exact code:

    Here’s the reservation website link.Where do you plan to stay?

  2. DW says:

    Well, I changed the ‘ to a ” and it worked. Here’s the line I altered:

    Here’s the reservation website link.Where do you plan to stay?

    Glad it worked out. Giff

  3. DW says:

    Wow! This RSVP plug really worked out great! Check it: http://dwandkarissa.com/RSVP

    I would love to be able to add some “running tally” logic to the spreadsheet… but I don’t know who to do that. Can your friend Mike spill the beans? ;-)

  4. DW says:

    Well… I found the solution on Microsoft’s excel forums!

    I put the following formula at the top of column D, which is the ceremony tally.
    =COUNTIF(D5:D248,”Attending”)

    (NOTE: The guest names start at row 5, because I wanted several rows at the top for tallies)

    This worked great! So I did one for Not Attending, and then a tally of blanks to show how many people had yet to respond. Awesome!

    Then I copied the same formulas over to column E to tally the reception/banquet numbers.

    Here’s the formula for “No response”:
    =COUNTIF(D6:D249,”")

    Very nice. That’s pretty much the same code that Mike used. I would also note that it is important to be careful with the No response code and make sure the ranges are correct so that you don’t accidentally count a blank row as a guest who didn’t respond. Giff

  5. Powerduck says:

    Hi,
    Thx for this amazing plug in . I need it to planify a wedding and it seems to be perfect for this.
    I download it from this site but i get the unexpected ‘;’ error on line 276. I quite sure that the PHP version on OVH server is 5 or more and I use WP 2.8.4.

    Is there something I forget to check ?

  6. Joe Dearman says:

    Hi Giff,
    First and foremost, awesome job on the plugin. A lot of creativity went in to this, I definitely appreciate it!

    I’m receiving the “oops” message. I’ve read through the comments and have tried everything mentioned here. PHP 5, extensions loaded, everything seems fine. I’m not sure what is going wrong. Any suggestions on how I can narrow it down? Thank you in advance!

  7. randall says:

    I need help!

    This plugin was working great, most of our guests already rsvp’s. but today I was testing it out and It stopped working. Im getting the opps error page. I don’t understand how it was working and now it’s not.

    http://www.randallandkristi.com/?page_id=374 test with the code “and”

    I love this plugin, but I need help!

  8. randall says:

    ok sorry. i think i figured out the problem. something is not working with my google app. docs.randallandkristi.com. it stopped working with my google app so i just linked it to my regular google doc account docs.google.com. something must have beenchanged on the google apps side because it was working for awhile but then it stopped. so google must of effed up something on their app side. let me know if you have a fix.
    ==========================
    The google cloud broke again. Here is the google response: http://code.google.com/p/gdata-issues/issues/detail?id=1499 they are working on a fix that should be resolved within a day or two. :/ Good luck and best for your planning. At least you know you have an army of Google engineers scratching their heads for you… hopefully programming something, too.

  9. Justin says:

    Is there any easy way to add a ‘how many guests’ question into this plug-in? How about ‘how many adults’ & ‘how many children’?
    —————-
    You could ask that question through the comment box, there isn’t an easier way really. This plugin is designed to only have a fixed number of invites per RSVP.

  10. Justin says:

    Ok… Thanks for the answer. Is there a way to take away the Banquet part of the questionairre? They just want to know about the ceremony (as both will be at the same location.)

    Also, is there a way to change the “Let us know how you’re doing. Leave us a note!” Question on the comments box?

    Thanks again so much.

    ~ Justin

    This would take fiddling with the php code itself… which is scary, but if you want to try, make sure you test it thoroughly. In the plugins editor you can change wp-guestlist-plugin.php and search for the words “Let us know how you’re doing.” and change that text.

    It’s more complicated for the banquet. You *could* try commenting out (putting // in front of each line) the lines 631 to 639. They are the code for asking for the banquet info. I think that if that text is hidden, then it just won’t show up. and the code should work fine, BUT I HAVEN’T LOOKED AT THE CODE IN MONTHS, so try at your own risk.

    -Giff

  11. Justin Lake Whedon says:

    Giff ~

    Thanks so much for all your quick & perfect responses. I’ve done everything and it’s working great…

    One last question…

    Is there a way to add a second space for another name… so if it’s sent to Sally & John Smith they could confirm BOTH people are coming?

    Thanks in advance.

    ~ Justin

    Glad things are working smoothly. Well, if you give sally and john the same rsvp code in the spreadsheet, both of their names show up on the response page. I think that’s what would allow you to confirm for both. Not sure if that’s what you meant.

  12. Amy says:

    Giff,

    This looks amazing! I would love to use this for my wedding. Unfortunately, I’m making my website with Flash and HTML/CSS, and not WordPress. Do you think this could be modified to use for a non-Wordpress site without too much knowledge of PHP? If so, could you give me a few pointers?

    Thanks!

    ~Amy

    It’s probably not that hard. Hmmm… it would be kind of a pain. I would actually recommend medium PHP familiarity, especially with GET/POST requests. I’m a bit preoccupied at the moment, but here’s what I would suggest: (1) The Zend files are still necessary, don’t remove them, (2) $outputtext is your clue for figuring out what needs to be separated out into standalone php, (3) You’d have to disentangle all of the wordpress options (get_option) with your own data.

    On second hand, this looks pretty messy. You *could* cheat by installing the RSVP page on a wordpress installation with only one page (the rsvp page) and point your guests towards that page. It sounds like overkill, but I figure there’s enough work to do for a wedding website than to reprogram this plugin from scratch.

    Good luck!

  13. ya says:

    hey, this looks like an awesome plug-in and i would love to use it on my site, but how would i configure this to use the spreadsheet thats hosted on google docs for my domain? is there a place in the source that i can edit the default google doc location with my domain url?

    Thanks!
    ya

    That makes sense, but I never investigated this myself… sorry! Maybe someone has time to dig into this… Giff

  14. Jen says:

    Hi Giff,

    My fiance and I are planning on having two receptions for our wedding in different locations, with different guests lists (family members are on both). Can you recommend a way to add functionality to include RSVP’s for more than one event, with different meal choices (guests typing in their RSVP ID leads them to a page that allows them to RSVP for the particular event(s) they’re invited to)?
    Thanks,Jen
    You know, right now the plugin can’t run two different RSVP spreadsheets. So, the simplest way that I can think of is to run two separate installations of wordpress. It’s unwieldy, but it would work… Giff

  15. lynne says:

    I can’t seem to find a code that works. I keep getting the Oops! error. Any thoughts?

  16. Garrett says:

    So far, totally awesome. Just curious if anyone has run into this problem: When I run an RSVP test I get the form with attending/not attending,and I always end up with the: “Sorry, our records were not changed” message, yet they do get updated in the spreadsheet.

    I’m looking into this now and will update if I find the answer. Seems like its reading the values on postback without checking whether or not it got updated, and/or is a postback.

  17. Andrew says:

    Thanks for this, have made a fairly heavy edit of it, to add options for storing things like addresses and extras in the google docs file

    Also added conditional RSVP features, for example if you only want to invite someone to the reception and not the ceremony then they are not given the option to RSVP for it

    @Jen above, this would work for your problem, guests can only rsvp to what they are invited to. You just need extra columns in your spreadsheet, one for each event

    i.e. ceremony, reception1, reception2

    If you want any help let me know, can explain further what i did.

    Cheers for the original plugin :)

    Wow that sounds awesome! Very cool. -Giff

  18. Jen says:

    @Andrew: That sounds wonderful! Could you explain a little more how to do this, or even e-mail me your files? My email is jenandandycho@gmail.com.

    Thanks!

  19. Tim says:

    Yeah Andrew, those sounds like awesome updates! I’m sure we’d love it if you could make them public (or if Giff could make them part of the next version!).

    The conditional options are especially cool. I’ve been making my own version of the plugin as well (only got as far as adding custom columns, so far) and this is something I’ve been trying to figure out how to do.

  20. Tim says:

    Another thing I noticed today while fiddling around with this…. email alerts don’t seem to be getting sent out as the plugin settings page implies they should. I’m using the configure SMTP plugin (http://coffee2code.com/) to send mail via google apps, but that’s supposed to handle email for wordpress globally, so I don’t think that should be a problem. Any thoughts?

  21. Justin says:

    i get the “Oops. You found an error…” message everytime, with all codes. i’m pretty sure i have followed all the steps, i thought maybe the problem was settings with visability of the google doc, but im assuming the fact that the plugin has my login credentials rules that out. Any suggestions? Thanks

    ======
    Only thing I can suggest is to turn on the debugging stuff in the code (look for instructions in earlier comments?) and to try to figure out where it went wrong. Sorry, a bit busy this early year. Good luck :/ Giff

  22. Andrew says:

    Sorry, i’ve been a little busy with new year etc, i’ll look back into the changes I made, and how to explain / publish what I did.

  23. Jen says:

    Thanks, Andrew!

  24. Robyn says:

    Hi Giff and Andrew!
    This plug-in is exactly what I need to plan a confernce! I need assistance with changing the PHP code to have the responders RSVP on certain items. Basically I want the functionality of updating my google doc but for another reason not related to weddings.
    Can you assist?
    robyn_beazley [at] hotmail.com

    I (not surprisingly) do not have the time to give you help. If all you needed to do was to change “Ceremony” and “Banquet” to something different, then all you would have to do is search through the plugin and rename the relevant text. But, to have more than two options, then things would get complicated. I suggest hiring someone who knows enough php to do the work. :/ Good luck!

    Also, good job Andrew, you are now a deputized commenter. lol

  25. Chris says:

    I followed all the instructions but whenever I test a code, the RSVP page just reloads empty, no form or anything.

  26. Chris says:

    i read all of the previous comments about “yum install php-xml” but I have no idea what that is all about. My host (startlogic) says I’m running php 5.2.5. I updated WP to 2.9.1.
    the page in question is http://chrisandsarah.us/rsvp

  27. Chris says:

    Finally found the exact error. It is this:
    PHP Fatal error: Cannot clone object of class DOMDocument due to ‘zend.ze1_compatibility_mode’ in /hermes/bosweb/web083/b830/sl.lumenbei/public_html/chrisandsarah/wp-content/plugins/google-docs-rsvp-guestlist/Zend/Gdata/App.php on line 313

    ——-
    Gross… errr… welll maybe this will work: http://docs.moodle.org/en/Talk:Installation_FAQ#Installation_hangs_with__zend.ze1_compatibility_mode_on Though I have no idea… good luck. -giff

  28. Dan says:

    @Andrew: I’m also interested in your fork of the code – have you had a chance to review your changes since the 21st?
    Thanks :)

  29. Andrew says:

    I started writing an explanation here into how to edit the plugin for custom fields, but realised it would be rather long and confusing to post as a comment, so I emailed the two people who gave their email addresses in their comments instead.

    I keep forgetting to check here anyway :)

  30. Amar says:

    @Andrew: I would really appreciate it if you could send me the instructions on how to edit this plugin for custom fields/conditional fields. My email address is katieandamar@gmail.com. Thanks!

  31. Trevor says:

    This is a great plugin, very easy to use.Thank you. I’m interested in getting the extra functionality that Andrew enabled. Do you think you could send me a copy of your notes? idealogue@gmail.com

    I also couldn’t figure out a way to modify the number of seats reserved for each entry in the guest list. Is there a way to do this that I’m missing?

    Thanks, Trevor
    Trevor, each row in the table corresponds to one reserved seat. To create more reservations, you need to create more rows.

    Also, I don’t know if Andrew has time to make public release/fork. If I get word from him, I will be happy to post a link. Giff

  32. Andrew says:

    @Trevor, if you want to add extra seats to invites, just add an extra row, and in the Guest Name column type “Guest” or “+1″ with the same code as the row above.

    As for the modifications of the plugin, yeh i might look into adding more options to the settings for the plugin to allow easy customability, but i’m a little busy at the moment with work.

    I’ll email you both when i get a second, writting this while in the middle of doing some other coding.

  33. Fábio ZC says:

    Hi!! First of all.. thanks for this great plugin!

    I need to know a way to see who has confirmed the RSVP… any ideas?

    Thanks a lot!!

  34. Zach says:

    Hi, Thanks for the great plugin. However, after updating to WP 2.9.1 the RSVP is no longer working. When you type in the code the input box and search just go away and there is nothing left on the page. Any suggestions? Do I need to change anything to make it compatible with 2.9.1?

    Thanks.

  35. Andrew says:

    @Fábio ZC – Look at the Google Docs document, and look at the ceremony/banquet etc columns. If someone has replied their row will have “Attending” or “Not Attending” next to their name. If they havent replied the cells will be blank.

    If you want to know numbers of people who are attending/not attending, you just need a simple sum function.

    @Zach – Running the plugin fine on wordpress 2.9.1 on multiple wordpress installs. Are you sure you didnt break wordpress or the plugin when you upgraded? Try redownloading and installing the plugin again


    Thanks, Andrew. Another possibility is that another plugin is acting strangely. Why, I don’t know, one thing to do is to turn off other plugins and turn them on one at a time. -Giff

  36. Zach says:

    Well I very well could have broke something during upgrade because I had to upload it manually, but everything else is working just fine. I did try uninstalling the plugin, deleting it manually, trying a different spreadsheet, etc. None have worked. You can see better what it does if you go to:
    http://www.zachandrachael.com/rsvp

    It doesn’t give you any message regardless of whether or not you use a legit code or not. And when you hit submit it also makes the sidebar go away. It’s just really weird because everything else is working fine.

    Thanks in advance for the help.
    Zach

  37. Fábio ZC says:

    Thanks Andrew and Giff!

  38. Christy says:

    I set this up on my site and it seems to work as far as allowing the guest to respond and filling in the spreadsheet. However, it doesn’t send the email and it leaves this message:
    Sorry, our records were not changed.Please type in the code from your wedding invitation below:
    and this error message:
    Warning: mail() [function.mail]: SMTP server response: 451 See http://pobox.com/~djb/docs/smtplf.html. in D:\Hosting\5479070\html\wp-content\plugins\google-docs-rsvp-guestlist\wp-guestlist-plugin.php on line 582
    Since it has already filled in the spreadsheet, if you fill in the number again it says No Match. Any ideas? I’m using 2.9.1.
    I’m fine with it not sending the email–I don’t mind just checking the spreadsheet (it’s a small wedding). Is there any way to just change the message to ‘thank you’? and be done with it?
    Thanks

    ———————
    Search for and comment out this in the code: mail($wedding_planner_email_address, $subject, $emailreport, $headers);
    Good luck! -Giff

  39. Christy says:

    Perfect! Worked like a charm. Thank you so much for this plugin and for your help with it.

  40. ISC says:

    Hi Giff,
    Love the pluggin but… having a bit of an issue, pluggin loaded in fine, setup everything in google.docs, and double checked things, but each time I enter a code, the site will flash (looks like a refresh), and then nothing, no errors pop up, just get the RSVP page again. I have php5. ;) Anything you can tell me to point in the right direction. Thanks.

    I would look at the error_log if I had access to it… :/ sorry can’t give much info to you here… or look through the code to uncomment debug statements. Good luck. Giff

  41. BG says:

    Guys, great plugin. Thanks so much for your hard work. Got everything running so far and with relative easse….

    @Andrew, I too am looking to modify this plugin exactly how you have done. Would love to capture address info to save time when sending thank yous.

    Email is riggins44 AT gmail.com

  42. Andrew says:

    You can contact me here if you would like help modifying with the plugin:
    http://agnomical.com/dev/wordpress/contact/

    @BG – just sent you an email, sorry i am quite busy so dont look here that often.

  43. Blair says:

    Giff, this plugin is awesome! My fiancée and I were able to realize our plans for a green wedding with the help of this plugin.

    Andrew, I think it’s great that despite your busy schedule, you are able to share your work on the plugin with the community.

    I have figured out how to change the “Banquet” heading and question, but am have had to settle for asking people to put their email in the comments, and then manually copying that into my email merge sheet. Having discreet fields for details like email, etc, would be wonderful. I’m sure there are other changes that I would make upon studying your documentation. Thank you for taking the time to capture this information.

    When you have a moment, please fire me an email with your notes. Thanks!
    —–
    Thanks for the feedback – I’m glad this was helpful -Giff

  44. Mundo says:

    @andrew. Seems you have a good grasp on the plug in. How do I set it up to have just a ceremony option and a total guest option? Please email me at mundo@jeneandethmundo.com

    Thank you in advance for your help.

    You know, I don’t think Andrew has been to this site for a while. Anyways — if you are comfortable with the php, you could try to comment out the following code in the php:
    $outputtext .= '
    if (strcmp($entry["banquet"],"Not Attending")==0)
    $outputtext .= "checked='checked' ";
    $outputtext .= "/>Not Attending";
    $outputtext .= "
    \n";

    I think that works. Haven’t tested it.
    As for the guest count, I would search the web for a tutorial on “google spreadsheet” and “count”

  45. Mundo says:

    @ Andrew. That worked and thank you. I’ll have to check into the guest count. Last thing, how would I change ceremony into reception? Thanks

  46. Mundo says:

    @andrew, I got it. Thank you for your help. I took your above suggestion and changed ceremony to reception. Thanks.

  47. Andrew says:

    Thought I should point out that you are giving me credit for answers that Giff wrote in reply to your questions, not me. You might want to thank him instead, he wrote the plugin, I just try and do a bit to help people out. :)

    I’ve replied to your email, but i’m not sure if you still needed help or not.

  48. Blair says:

    Hey folks,

    In the last couple of days, we received RSVP responses that are blank. And then today one came in blank, and they had written a comment, so we knew who it was.

    What troubleshooting steps should be taken?

  49. Blair says:

    I think people have been punching in their code and then clicking send RSVP without selecting that they’re attending or not. It goes through though. Is there a way to validate?

    Hmmm. Well if you are familiar with php, you could find the part of the code right before inputting in the db. (Around line 409) and add some code that checks the input? e.g. (

    if ($_POST["guestname"] == "") {
    $abort_and_reprint_form = true;
    $outputtext .= "Oops, your name was blank.";
     break;
    }

    (this is untested sample code)

    Sorry, this will only make sense to people who know PHP. I don’t recommend trying this w/o someone’s expertise. — another solution is to look for javascript that will require certain fields to not be blank before submission. This code would have to be inserted somewhere in the original form. So that would go under the “edit” case (line 590 and after). note: $outputtext is the variable that holds all the html.

    -Good luck. And congrats. Giff

  50. Blair says:

    Oh, and btw our site was featured in newspapers and online press across Canada for an article we were interviewed for. Kewl!

Leave a Reply

If this was helpful for your wedding (or any other event), please consider donating.
Thanks!