The Events Calendar/PRO 3.6: changes you should be aware of

As of today, 3.6 updates have been launched for The Events Calendar, Events Calendar PRO and their stable of premium add-ons. While not as significant an overhaul of the codebase as we saw in the 3.5 release, there are a number of fairly major changes in this release that you’re going to want to be aware of. It probably makes sense to read this before applying the updates! If you have customizations, make sure you’ve tweaked those based on any changes that might impact you. Here are the big six items to consider (all relate to the free The Events Calendar unless otherwise noted):

1. The meta factory has been deprecated. Up until now The Events Calendar has used a neat system called the meta factory to register and then display all sorts of meta data on single event pages (this is the panel that includes details like the organizer, venue and any custom fields that have been set up, etc). What we found though was that, for many users, customizing the meta factory output was a little more challenging than would be ideal.

For that reason, the meta factory is no more! Starting with 3.6 it has been re-implemented using a set of templates and so from here on out can be customized using template overrides – we hope this will not only be easier to work with but also more consistent with how the rest of the plugin works.

If you have haven’t made any customizations to the meta factory output then you probably will notice that, on the surface, almost nothing has changed. If on the other hand you have made a few customizations then you’re probably wondering what this means for you and how you can preserve your changes.

The first technique is to set up template overrides for the new meta templates (which live in the views/modules/meta directory) and make your changes there – please review our Themer’s Guide if you are unfamiliar with this process. The second technique is to simply re-enable the traditional meta factory: this can be done by adding the following short snippet to your theme’s functions.php file:

add_filter( 'tribe_events_single_event_meta_legacy_mode', '__return_true' );

If you choose to follow this path please do realize that it comes with a warning: this will not be possible in future releases and so you should view this only as a temporary workaround and switch to using template overrides as soon as possible.

2. Day View now ships with the core The Events Calendar, and doesn’t require PRO. The title pretty much says it all: while Day View was previously a PRO-exclusive feature, as of this release it now joins Month and List views in the core The Events Calendar. All PHP files related to Day View are now in the core plugin, not PRO, so if you need to modify them or create a template override this is where you’re going to want to look.

3. iCal option has been ported from PRO to The Events Calendar, too. Similar to #2, above: we’ve ported the ability to export events to iCal format from PRO to core. For most users, the biggest impact this will have is the addition of a new button on their single event templates (which will obviously need to be accounted for in customizations/custom layouts).

4. Custom date formats are now available. In 3.6, there is a new section under Settings > Display where you can specify custom formats for the dates that are displayed throughout TEC and its add-ons. The new format fields will accept the formatting options used with the php date() function. The WordPress codex has a good tutorial on this which you might want to check out.

5. New datepicker options are now available. Additionally, we added options for formatting the datepickers used in our plugins. You will have a choice of 9 predefined options for the datepicker format. The default will be the existing datepicker as seen in 3.5 and earlier, and you can continue to use that as you see fit. But if you want to use a different choice you now have options in the Events Settings panel.

6. The process for doing list widget overrides has changed. We’ve also made some pretty significant changes to the list widget template files, so that all HTML markup (as well as the loop) is now included in the template files for you to customize. If you have any overrides to the list widget files (for either CORE or PRO), then you’ll definitely want to update your overrides to incorporate our latest changes in order for your widgets to be working properly. As a reminder, here are the List Widget template files for CORE & PRO:

  •  CORE: views/widgets/list-widget.php
  • PRO: views/pro/widgets/list-widget.php

Finally, if you’re running PRO, you’ll notice that we’ve also split out the ‘Related Events’ into their own template file. So, now you can override that view as well if needed!

  • PRO: views/pro/related-events.php

We’re communicating this to you early in an effort to be 100% transparent about how these changes might impact you. One of our biggest failings in 3.5 was that we never clearly relayed to the community how major the changes were and the impact they’d have on the codebase, which led to some confusion among those who hadn’t known to properly prepare for the update. We’re hoping there’s less of that confusion this go around…but if you’re stuck or encounter issues, hit us up in the forums.