Adding Custom Forms

If I were doing it this is how I’d do it:

I would be to use a plugin such as cFormsII (free), Gravity Forms (Commercial), or several others to store the data in the database. Both the plugins I mentioned allow you to export the data which is great for a guest list.

For the key you could go about it the lazy way by having one key that looks unique but it actually not. Or you could do something like md5($lastname.'mysalt') to make sure they can access the page. The problem with the later is you’d need to make an array/list/database of all the guest last name to do the check.

Now I would create a custom page template and do something like this:

if($_GET['key'] == "mykey"){
// WordPress loop containing the_content (this will let you use the form 
// plugin inside the WP dashboard for ease of setting up the form
}
else{
 echo("Sorry, invalid invite code. Are you sure you're on the guest list?");
} 

Then set the invite page to your new custom page.

This would mean you would link to http://example.com/invite?key=mykey