Create Your Own RSVPMaker Events Listing Format

I’ve been working on creating a better API for developers who want to extend RSVPMaker, without hacking the core code of the plugin or overriding the pluggable functions. This example shows how you might take advantage of the get_future_events() function to write your own shortcode or widget code that outputs an event listing in a format of your own design.

get_future_events accepts 2 parameters, both optional — get_future_events($where,$limit)

$where is a SQL clause like ‘post_author=2’

$limit is a limit on the number of events that should be returned.

In this example, I added a shortcode that accepts where and limit as parameters that can be passed to the get_future_events function. You can also use before and after with either a specific MySQL formatted date or a date function like CURDATE() or DATE_ADD(). The past attribute directs RSVPMaker to use the get_past_events() function (which works the same way) instead. (This was only supposed to be a simple example, but I got carried away.)

I also included a showfield attribute to let you see the fields returned (the post_content body is hidden). In addition to all the normal $post properties, you get datetime (the full MySQL datetime for the event) and date (a formatted version). You can output the date in a different format by running the datetime data through PHP’s strtotime() to get a timestamp and then formatting your date with date() or strftime().

Here is the code, followed by a couple of examples.


April 2, 2017
Sunday Seminar

April 5, 2017
New Paypal Test

April 9, 2017
Sunday Seminar

April 16, 2017
Sunday Seminar

April 23, 2017
Sunday Seminar

[rsvpmaker_shortcode_demo showfields="1"]

stdClass::__set_state(array( 'postID' => '115733', 'ID' => '115733', 'post_author' => '1', 'post_date' => '2017-03-07 22:21:54', 'post_date_gmt' => '2017-03-08 03:21:54', 'post_content' => '[post content goes here]', 'post_title' => 'Sunday Seminar', 'post_excerpt' => '', 'post_status' => 'publish', 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_password' => '', 'post_name' => 'sunday-seminar-2017-4-2', 'to_ping' => '', 'pinged' => '', 'post_modified' => '2017-03-07 22:21:54', 'post_modified_gmt' => '2017-03-08 03:21:54', 'post_content_filtered' => '', 'post_parent' => '0', 'guid' => '', 'menu_order' => '0', 'post_type' => 'rsvpmaker', 'post_mime_type' => '', 'comment_count' => '0', 'datetime' => '2017-04-02 19:30:00', 'date' => 'April 2, 2017', ))

[rsvpmaker_shortcode_demo where="post_title LIKE ‘%the%’"]

May 4, 2017
RSVPMaker Entrepreneur Of The Year Dinner

[rsvpmaker_shortcode_demo after="DATE_ADD(NOW(), INTERVAL 30 DAY)"]

April 30, 2017
Sunday Seminar

May 4, 2017
RSVPMaker Entrepreneur Of The Year Dinner

May 6, 2017
Cub Scout Camping Trip

May 7, 2017
Cub Scout Camping Trip

May 8, 2017
Cub Scout Camping Trip

[rsvpmaker_shortcode_demo past="1"]

March 26, 2017
Sunday Seminar

March 24, 2017
Required fields test

March 19, 2017
Sunday Seminar

March 12, 2017
Sunday Seminar

February 14, 2017
PayPal test

Using RSVPMaker for WordPress with Stripe Instead of PayPal

If you charge for some of your events, you now have the option to use the Stripe payment service rather than PayPal. This is a new feature (call it “beta” if you like), so if you try it please report back with a comment below to confirm that it worked for you.

Rather than writing my own API integration code for Stripe, I’m supporting this with an assist from the WP Simple Pay Lite for Stripe plugin. (There is also a Pro version for you to consider, but the free version seems to work just fine for my purposes). Once you install and activate the plugin, you will see a checkbox option to “Use Stripe instead of PayPal” on the RSVPMaker settings screen.

You will also need to have SSL security enabled on your site (or at least on the event page) to use Stripe payment in production. These days, SSL is becoming more and more of a default requirement for all websites, and there are good free options for obtaining SSL certificates. The reason SSL is not required for RSVPMaker’s default PayPal integration is that the responsibility for encrypting the financial transaction is delegated to PayPal’s website. After users complete the transaction at, they’re redirected back to your WordPress site, and the payment is logged to the RSVP record.

You may find the Stripe integration to be a nicer user experience because the user never leaves your website and is presented with a straight credit card entry form, rather than a choice between between paying by credit card or with a PayPal account. According to this comparison, Stripe’s fee schedule also includes fewer surcharges.

For the sake of the demo below, I have WP Simple Pay enabled but in test mode.

Tuesday May 30, 2017 7:00 PM

In addition to integrating with PayPal, RSVPMaker can be used with the competing Stripe payment service when used in combination with the WP Simple Pay Lite for Stripe plugin. For this demo, the plugin is set for test mode allowing you to try it using these fake credit card credentials:

Number 4111 1111 1111 1111
Expiration Date: any future date
Code: any 3 digit code

8 signed up so far.


Event Types:

Webinars on Webinars: Public Speaking and Online Tools

I’m working on a series of events this month related to online tools for organizing events, tools for organizing online events, and the developing the public speaking skills needed to communicate effectively in webcasts, webinars, online meetings, and live video.

Webinar: Market and Manage Events with RSVPMaker for WordPress – Tuesday January 10th, 1:00 PM EST – my webinar on a free WordPress plugin for event management (which, among other things, can be used to organize webinars built around YouTube Live)

Organizational Meeting: Online Presenters Toastmasters Club – Tuesday January 10th, 2017, 8 pm to 9 pm EST – first steps toward the formation of a Toastmasters club dedicated toward training and practice for online presentation skills, to be conducted online

WordPress for Toastmasters Webinar for January 2017 – Thursday January 19th, 2017, 1:00 PM EST – tutorial and Q&A session on the software for managing Toastmasters clubs (including online clubs)

Taking Public Speaking Online: Secrets of the Geeks on Tour – Wednesday January 25th,  7:00 PM EST – I’ll be moderating an educational webinar offered by Toastmasters district 47 featuring Jim and Chris Guld, whose weekly YouTube Live TV show is a marketing tool for their business teaching about technology for travelers

Learn Professional Online Presentation Skills with Roger Courville – Tuesday February 7th, 8:00 PM EST to 9:00 PM EST – I’ll be hosting an educational webinar offered by Toastmasters district 47 featuring Roger Courville, an world renowned expert on online presentation skills

Video: RSVPMaker for WordPress Setup and First Event

Here is a video introduction to RSVPMaker, covering its basic setup and the publication of a first event to your website.

Key points:

New Shortcodes for Displaying a Single Event

In response to a few RSVPMaker user requests, as well as needs that cropped up for some of my own projects, I’ve added shortcodes for displaying a single event. There is already an option with the rsvpmaker_upcoming shortcode to specify that a single event should be displayed, but it will always show up with the RSVP Now! button people have to click on to go to the registration form.

The following variations allow you to display the whole form. While the version with the button is more compact for display in a listing of several events, it’s may not be what you want on a landing page for an event or a blog post announcing a single event.

[rsvpmaker_next], displays just the next scheduled event. If the type attribute is set, that becomes the next event of that type. Example: [rsvpmaker_next type=”webinar”]. Also, this displays the complete form rather than the RSVP Now! button unless showbutton=”1″ is set.

[rsvpmaker_one post_id=”10″] displays a single event post with ID 10. Shows the complete form unless the attribute showbutton=”1″ is set

[rsvpmaker_form post_id=”10″] displays just the form associated with an event (ID 10 in this example. Could be useful for embedding the form in a landing page that describes the event but where you do not want to include the full event content.

Using the popup calendar widget, then changing the code

Update: With release 4.4.2, the rsvpmaker_one and rsvpmaker_form shortcodes treat one=”10″ as the equivalent of post_id=”10″ — meaning you can set this up using the calendar popup in the visual editor to select your featured event post, in the WordPress editor’s Visual mode, then switch to text mode to change rsvpmaker_upcoming to one of these alternatives. You can then delete the rest of the attributes that don’t make sense in this scenario (but if you don’t they’ll just be ignored).


Here is the output of [rsvpmaker_next type=”webinar”]