This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Events Manager – Ongoing Events


Requires Events Manager (free plugin) to be installed & activated.

Easy to use add-on for Events Manager for organizing multiday events with just one booking / sign-up.

Unlike EM’s Recurring Events, EM Ongoing Events do not require separate bookings per event date. Simply create a single event with a booking form. Publish it as a normal, single event. Toggle to “Yes” and specify the other dates that this event/class/course/seminar will be continued. As soon as you click “Publish”, those ongoing (linked) events will be automatically created for you.

Each sub event will link back to the original booking form. If a visitor has already booked, they will get a notice, preventing them from signing up twice. (If double bookings are not allowed, of course.)

That way you can easily maintain all bookings from the main event, while the ongoing dates are neatly displayed in your calendar as well. Your customer will only have one payment, get one conformation email and still have access to all event dates.

To prevent accidental editing and loosing the correct linked data, the sub event date & times are maintained in the main event. The bookings section is disabled (bookings are registered in the main event). You can still edit the location and featured image, etc.

You can use the placeholder #_ONGOINGEVENTS in your HTML Events Manager Booking Emails to show a table of the corresponding events.

Placing the placeholder #_ONGOINGICAL in your Booking Confirmed Email will automatically add a .ics file for the booking of that Ongoing Series.

How this works

  1. Create a single event – the first day of your ongoing events series – with a booking form.
  2. Toggle “Is this an Ongoing Event?” ⇒ “Yes”.
  3. The first row on the Ongoing Events Table will be shown. Edit date and times, if needed.
  4. Click on + to add a new line, or – to remove one.
  5. Publish your event – all the sub events will be created automatically.
  6. Using the shortcode [ongoing_events] in your event content will show a table of all linked event info in every event.


The shortcode [ongoing_events] will output a table with the empty CSS class ongoing-events-table. If you do not define that in your own stylesheet, your theme’s default table lay-out will automatically be used.

If you want to hide the “Order one ticket for all events” notice, just add this in your theme’s Customizer to Additional CSS:
.ongoing-events-notice { display: none; }

Labels and strings used by this plugin can be defined in the plugin settings page. That way you are not bound to set translations.


I am open to your suggestions and feedback!
Please also check out my other plugins, tutorials and useful snippets for Events Manager.


  • US English (default)
  • Dutch (always included in the download)

The plugin is ready to be translated, all texts are defined in the .pot file which is included in the download. Any contributions to localize this plugin are very welcome!


  • Front-end Main Event.
  • Front-end Sub Event, when a booking has already been made.
  • Ongoing Events meta box in the Main Event.
  • Admin Events List Page showing Ongoing Events.


  1. Install & activate the .zip file in your WordPress Plugins Dashboard page.
  2. Set your preferences in the plugin settings page.
  3. Create a single event – the first day of your ongoing events series – with a booking form.
  4. Toggle “Is this an Ongoing Event?” ⇒ “Yes”.
  5. The first row on the Ongoing Events Table will be shown. Edit date and times, if needed.
  6. Click on + to add a new line, or – to remove one.
  7. Publish your event – all the sub events will be created automatically.
  8. Using the shortcode [ongoing_events] in your event content will show a table of all linked event info in every event.


Is this plugin WP MultiSite compatible?

Yes, all settings are neatly saved per blog. Please note though that cross-blog events are not possible in Events Manager.

Are you part of the Events Manager team?

No, I am not!
I am not associated with Events Manager nor its developer, Marcus Sykes, in any way.


Май 5, 2022-ж.
I am giving 5 stars in spite of some quirks the person posting the events needs to be aware of. The plugin does what I need: it allows a very clear presentation of mutliple-day events for the Website end-user. From any day’s event page, one can see the other days that are part of the same class or ongoing event. Registration for a mutliple-day event only requires filling out the booking form once (not three times if the class meets over three consecutive Saturdays, for exmple). What to know when you post ongoing events: 1. Subsequent events are only created at the moment you publish the first day’s event. If you save as a draft instead, any ongoing events you just added to the editing screen are NOT saved with the draft. 2. If you change the first day’s event from published to draft, the subsequent days will still be published and shown in the calndar and list of upcoming events. If the user opens one and clicks on “Day 1”, they will see a “not found” error message. If you open the editor for the initial event, you will still see the ongoing events (since they are still child events of the draft parent), and if you publish again, all should be well. 3. An easy way to delete subsequent days en masse is to edit the initial event and change ongoing events from “yes” to “no.” Beware: This does NOT put them into the trash; they are truly deleted. 4. Clicking the Publish button creates a ticket type for each ongoing event date. Before clicking Publish, there is only a single ticket showing by default. Be sure to adjust the tickets AFTER you publish for the first time. If you want people to be able to register for single days rather than the entire span of dates, rename the ticket types to make it obvious, like “Traning Day 1,” “Traning Day 2,” etc. If you want users to register once for all days, delete the extra tickets so there is just a single line for tickets. 5. If you change dates for the subsequent days, you may end up with an altered permalink. I managed to get one that ended with “-day-2-2” but when I changed the dates again, I had one ending with “-day-2” again. Usually this won’t matter, but you may want to check the permalink if you need consistency. Given all the above, I still think it’s a great plugin if you need events to span multiple days.
Июнь 9, 2020-ж. 1 reply
Nice idea, but doesn’t work very well. If I want to modify the main event, the attached events are deleted ! And I can’t change the hour format or the template of the event. I’m disappointed.
Read all 2 reviews

Contributors & Developers

“Events Manager – Ongoing Events” is open source software. The following people have contributed to this plugin.




  • Added: Placeholder #_ONGOINGLINK explained.
  • Added: TinyMCE editor for easier styling of the sub event content.
  • Confirmed compatibility with WordPress 5.5.


  • NEW: Added a new placeholder: #_ONGOINGICAL.
    It allows you to attach an .ics file of that Ongoing Series to the approved booking email.
  • NEW: Date & Time Picker formats will automatically be converted to correspond with their PHP equivalent.
  • Changed: Date & Time formatting now solely depend on WordPress General Settings to prevent errors with EM formatting in some cases.
  • Changed: Admin notices are now less intrusive.
  • Re-introduced creating sub events directly in new, unpublished main events. No need to save first, anymore.
  • Updated the plugin options page for clearer explanations.
  • Updated the .pot file for translations.
  • updated the included Dutch translation file.
  • Some other bug fixes.
  • This add-on is now compatible with EM Event Cancellation.


  • Created a failsafe for the time-picker showing “17:00 PM” for users who left the EM time settings in the faulty default “H:i A”.
  • Bug fix dates for sub-events being shown as NaN/NaN with certain date formatting.


  • Bug fix in updater.


  • Some code changes.
  • Confirmed compatibility with WordPress 5.4.1.