My clients’ sites often need a way to list upcoming events, and sometimes sell tickets. The two WordPress event plugins with the most flexibility and installs are Events Calendar and Events Manager. The new kid on the block is Sugar Calendar, by Sandhills Development, the creators of Easy Digital Downloads and Restrict Content Pro, and previously Pippins Plugins. I hope Sugar Calendar grows into a mature, well supported, stable calendar plugin, because WordPress needs one, IMO.
(Quick note – it might be difficult to follow along because the two plugins have similar names: Events Calendar and Events Manager. I’ll bold the name difference to help.)
I prefer Events Manager because it is easier to fit into a custom design. The designs for my client sites never match the default event list and single event pages. With Events Manager, you can override the templates and write out event content using your own HTML. Or, you can query for events on any page and write out the event details from the returned objects. I’m not a fan of its Formatting options in Settings to change how event details are output, but at least it has a simple way to change/rearrange the event fields display. I feel this plugin is very developer friendly.
However, I can’t always use this plugin. Events Calendar has more features, a bigger user base, and a WordPress focused agency, Modern Tribe, behind it. Events Manager appears to be supported by a single developer, who has done a great job, but that fact makes me a little leery to recommend it for sites that rely heavily on events. It is cheap – maybe too cheap, which is always a difficult line with WordPress plugins. Events are complicated and require a lot of development time to support and maintain.
In Events Manager, you can only create one type of ticket per event. So if you charge different prices for member and non-member tickets, this plugin probably won’t work. It appears Sugar Calendar has this limitation too – at least at this time. Events Calendar supports more than one type of ticket per event, however, sharing the quantities between more than one ticket can get out of wack – especially if you have cancellations.
Events Manager and Events Calendar allow you to collect additional information from users registering for an event – like meal preference. I don’t think Sugar Calendar does this – at least I can’t find those instructions in their docs. I’ll update this post if they add this feature or I find it. Currently, I’m using Sugar Calendar’s Personal Plan on a site in development and do not have access to their Pro add-ons for tickets.
Events Calendar causes me a lot of headaches, but because of its numerous features (which is probably why updates can break things) I have used it on a few client sites. My biggest grief is with their support and weird bugs that crop up. I don’t recommend overwriting any of their templates because they update templates often and do not have an alert (like WooCommerce) when you’ve overwritten a template that has been updated. I always try to use hooks and filters to adjust the output, but their hooks and filters are lacking, and not well documented. I find WooCommerce’s hooks to be better thought out and implemented than Events Calendar’s. I’ve spent numerous hours detailing issues in support requests that have never been fully resolved. One of my clients currently has over 1500 events stuck in trash that error when I try to empty the trash. Using a plugin to force delete them (luckily, I tested on a fresh copy of site), left me with 30,189 orphaned posts. After I deleted the trashed events and orphaned data, 18 events switched from having tickets to not. There is/or was a bug in the code at the time these events were trashed that didn’t unlink them correctly. I believe the issue has to do with related events. This same site slows down to a crawl on the event pages. The rest of the site is very fast, but the event pages are considerably slower. One frustrating thing I found is when I add the mini calendar (widget) to the default TwentyTwenty theme, it increased the database query count to 1,400 and page load time from 4.94 to 18 seconds! So maybe don’t use their mini calendar, unless they’ve since fixed this overabundance of database queries when it is displayed on a page.
If you aren’t picky about how your events look, Events Calendar is probably fine. The designers I work with hate its filter bar and the event display. I have to say, the default event display is just a random dump of information about the event. Although, I see in the code, if you enable skeleton styles to remove (most of) their styling, they don’t output some wrapper divs that would have been useful for grouping or putting data into columns. You’ll have to hook into those poorly documented actions to add in wrapper divs yourself. One quick note about skeleton styles, if you switch to that option you’ll still be fighting against their styles in random places, and those styles sometimes load after your own stylesheet, so you are left to use !important to get rid of their blue buttons. I don’t know if rendering after your own stylesheet was a bug in one update, or if it persists. I was properly enqueuing my own scripts correctly with add_action( ‘wp_enqueue_scripts’, ‘unbox_scripts_method’, 9999 ); A plugin’s stylesheets should always be added before the theme’s so you can overwrite the plugins styles without a lot of struggle and !important flags.
Be prepared for random weird things if you use Events Calendar and make customizations.
I hope Sugar Calendar becomes a strong contender with really good testing before updates, good tech support, and adds just enough, but not too many, features to keep it a viable, supported plugin, maintained by skilled developers. WordPress needs it.