I have a custom post type Event with multiple start and end dates for each Event. What I need then is a calendar similar to the calendar widget with links to these events.

I need multiple multi day timespans that are not recurring regularly. The problem is that all plugins I could find only offer parts of the solution for me:

  • Events that only recur in regular intervals
  • Events that only offer one timespan for each event, forcing me to duplicate it for other dates of the same event.

Is this such a weird problem that no plugin exists for this?


I don't think it's a weird problem, but it is a fairly complex requirement and plug-ins are usually built to target a wide as audience as possible. The problem is that this can mean more complex features are left out because there are not needed by the majority of people and would simply clutter the user interface.

When plug-ins create a (multiple-occurrence) event (WordPress or otherwise) it usually relies on some pattern to generate the occurrences of that event. If there is no pattern (such as every 2 weeks on the Thursday, on the 4th of every 3 months etc) then there is no way of calculating the occurrence dates - the upshot being that you'll need a plug-in in which you manually select the start/end dates of the occurrences.

While this is entirely possible - for most the desire is to easily set up and event that runs to a regular schedule.

That said, Event Organiser (disclaimer: I'm the plug-in author), you can create events with regular occurrences and/or add/remove specific occurrences. Though the duration of each occurrence will be constant.

If you wanted to create a small plug-in that meets your needs though, there are ways of setting up the jQuery datepicker to allow selecting multiple dates: https://stackoverflow.com/questions/7054039/jquery-ui-datepicker-as-multiple-date-display

This can be used to select the start and end dates of any number of occurrences, which can then be saved to database (either as post meta or a custom table).

Not the answer you're looking for? Browse other questions tagged or ask your own question.