This is a brief illustrated tutorial on the RSVPMaker event editor and the primary options it provides.
Here’s how you set up a basic event, with just a headline, event description and date and time set.
And here’s what it gets you:
Here, we’re specifying both a start time and a duration, so that the system will display both a start time and an end time.
You can also set up a multi-day event with a common headline and description for a weekend camping trip or week-long conference.
If you want to collect RSVPs, you need to check the Collect RSVPs checkbox and specify an email address for whoever needs to receive notifications when someone completes the form. You can also view a report of everyone who has RSVP’ed.
There are also options you can use to:
Set a deadline for RSVPs (leave this blank otherwise)
Set a maximum number of participants (leave it at zero for no limit)
Prompt users to sign up for one-hour timeslots, an option intended for use staffing volunteer events. A future release may allow you to set the time interval for the volunteer timeslots, but right now it’s fixed at one hour.
If you view an event listing, you will now see an RSVP Now button at the end of the listing. You can also send out email invitations that include this button to prompt a response (See How to Post and Email an Event, which explains the related ChimpBlast plugin for use with MailChimp email broadcast accounts).
Click the button or the headline, and you’ll be taken to a view of the single event with the RSVP Form displayed.
I just published RSVPMaker version 0.7.5, which updates the utility for adding a series of recurring events. This includes the ability for software to calculate the dates based on a schedule like “Second Tuesday of the month.”
The idea is that you can create a basic event listing for several months into the future, with boilerplate details on your meeting location and other common parameters such as whether an RSVP will be required. You can then go back and edit or update those listings as needed.
This alternate editor does not include the rich text editor you get when you edit a single post, but you can include your own HTML in the description body. The RSVP options at the bottom of the screen are the same ones displayed on the main event editor screen.
If I make use of the ability to specify a schedule such as “Second Tuesday,” I get a series of dates loaded into the editor. I change the dates as necessary (for example, to account for schedule changes around holidays), enter my details, and submit.
I also provide a Multiple Events editor, which is even more basic — just a quick way of editing a bunch of events at once. Again, you can always go back and enhance the listings as needed.
Note: RSVPMaker 2.5 makes more advanced customization of the RSVP form available from within the administration console, which may eliminate the need for some code-level customization.
RSVPMaker includes a mechanism for allowing you to add custom functions or override the some of the default functions included with the plugin. Specifically, you can override any of the functions defined in rsvpmaker-plugabble.php. You do this by adding your own rsvpmaker-custom.php file to the plugins directory (the directory above the rsvpmaker folder). My distribution includes a sample rsvpmaker-custom.php file but it will not be activated until you move it to the new location.
Essentially, this lets you plug in your own functions within my plugin. The idea is to provide some freedom to customize, without losing the benefit of upgrades to the core rsvpmaker code.
Modifying the event_content function
More extensive customizations are possible by overriding the event_content function, although this is a longer, more complex function. If you open the rsvpmaker-plugabble.php file, you will see the functions are wrapped with if(!function_exists(‘function_name’) ).
If you copy the function definition for event_content into your custom.php file, you will be able to modify the function as necessary for your purposes.
When a single event is displayed, the standard single post template may tend to cause confusion because it juxtaposes the posting date with the event date. This is particularly a concern for post templates that feature the publication date prominently at the top of the post.
You can avoid this problem by adding a single-rsvpmaker.php file to your theme. WordPress will load this instead of the single.php template for an event post type.
A sample single-rsvpmaker.php file for the Twentyten theme is included with the RSVPMaker download, but you must copy it from the plugin folder to the theme folder to get it to take effect. Note that this file may not work with themes other than Twentyten without modification.
Most themes include a single.php file that you can modify to remove (or de-emphasize) the code that outputs the post publication date. I also recommend removing the code that outputs the comments template because people tend to be confused by having two forms on the page (the RSVP form and the comment form).
Updated 12/29/2010 to reflect change in file naming (single-rsvpmaker.php rather than single-event.php).
I’m planning to introduce support for translation in the next update. So far, I’ve got interest in French and Danish. I’m a mono-linguistic American, so my contribution will be limited to tagging words and phrases for translation and looking for collaborators who can do the actual translating.
Update 12/29/2010: I’ve finished flagging most of the elements in the user interface that I thought might need to be translated and have added them to the file rsvp.pot in the plugins/rsvpmaker/translations subdirectory of the latest release. This is the “catalog” file that you load into a tool such as POEdit to translate words and phrases such as “RSVP Now!” into whatever makes more sense in a given language.
Send me your translations to be included with a future release, and I will be happy to credit your contribution.
A few users who have tried the RSVPMaker plugin report problems with getting 404 page not found errors when they try to follow a link to one of these entries. Let me know if you experience this issue, as I’m trying to track down the cause. It seems to work fine for most people, but I may be running into some kind of clash with other plugins that manipulate the WP rewrite rules object.
One website manager I’ve been working with has it functioning correctly on one site she manages, but not another. Very puzzling.
Update: 12/29/2010: I think I’ve now resolved this issue by changing some of the code that sets up the custom post type and sets the rewrite rules.
The RSVPMaker and ChimpBlast plugins work together to let you send event invitations through the MailChimp broadcast email service.
This tutorial uses the system as installed on the Economic Forum of Palm Beach County website as an example. Using the RSVPMaker options page, I’ve configured things so we always ask for an RSVP response by default and a block of default text with boilerplate on the standard meeting location and payment details is loaded into the editor when I add a new event.
I then add a headline and details about the specific event, set the date and time and publish my event.
After publishing my event, I switch to the Eblasts menu and click Add New. I get a blank form, but at the bottom of the form you will see a list of links to upcoming events. Click the link to load the event into the editor.
Here, you see the formatted text of the event has been loaded into the editor. Add a title (which will serve as the subject line of the email). You can add also add an additional message introducing the event or encouraging people to RSVP online.
When you click the publish button, you will get a prompt to “View Post” just as you would for a regular blog post. In this case, “View Post” will take you to a preview of the message in the email template.
At the top of the email preview screen, you will see options that allow you to send yourself a preview of the message (good for checking that it shows up correctly in an email client) or send it out live.
Here is what this message looks like in GMail.
When the Recipient clicks on RSVP Now, he or she will be taken to the event page on your website. If the recipient has registered for events before, using the same email address, RSVPMaker will try to look up contact details (such as phone number) rather than making the user enter them again.
Update: I wound up publishing a new version that addresses most of these requests sooner than planned, after I found a few other errors that needed to be corrected.
I expect to publish an update to the RSVPMaker Plugin in about a week. Feedback has been good overall. People who have tried other event management plugins tell me mine seems more flexible. I had tried some of the others and they were never quite what I was looking for, or not close enough to convince me to stop developing my own.
Here are a few improvements people have asked for, none of which looks too difficult:
A configuration setting choice between AM/PM times, as used in the U.S., and 24-hour time, more common in the rest of the world.
Ability to set the maximum number of participants allowed for each event.
A way to set the maximum number of events to be displayed in the headline list or sidebar widget.
Better documentation of the shortcodes available for use.
I’ve already done some of this, but probably need another week or so to pull it all together. Let me know if there are other things you would like to see.
RSVPMaker also provides a widget you can use to display upcoming events in your sidebar.
Update for version 2.5.5
The rsvpmaker_upcoming shortcode now accepts limit=”x” (show x number of events) as an attribute. Example [rsvpmaker_upcoming limit=”3″] would retrieve a maximum of 3 posts.
You can also use add_to_query=”myquerystring” to modify the query using query_posts() query string syntax. Example: [rsvpmaker_upcoming add_to_query=”p=99″] would retrieve a single rsvpmaker post with the ID of 99. This appends the parameters you provide to the default query string, so the whole thing would be something like post_type=rsvpmaker&post_status=publish&p=99.