Events Manager 5.9.1

We released Events Manager 5.9 three days ago, which introduced Timezone support as a new feature. This was a pretty big shift under the hood with regards to how we calculate times.

Whilst we’ve had beta versions of this new feature since late last year, it’s pretty much impossible to test every server setting, plugin/theme and EM settings combination and consequently once released to the general public we started experiencing various issues with regards to the new features when running under specific settings/servers.

Thankfully, those experiencing issues are in the minority and none of these are issues we’ve come across so far can’t be resolved. We’ve been hard at work this weekend collaborating with various users who reported these issues to make the necessary tweaks.

The two major areas causing problems have been:

  • Users running plugins that change the server default timezone and not switching it back, resulting in event times being displayed (but not saved) as a few hours off. WordPress switches the timezone to UTC by default.
  • Multisite admins that update the plugin and directly proceed to visit the ‘Update Blogs’ page experienced ‘missing’ events. Visiting subsite admin pages after updating the plugin does not cause this.

In both cases, we’ve fixed the problem by mitigating the possibility of other plugins interfering and by adding some tools for network admins to set things right.

For those who upgraded to 5.9 and experienced the MultiSite issue, you’ll be asked to run the timezone reset feature from Network Admin > Events ManagerĀ  > Admin Tools. Simply choose ‘All Blogs’ to apply the reset to, and click the ‘Reset Timezones’ button, and all events should reappear on all your sites. If you have lots of sites (we tested on an install with 98 sites) this may take a while and if your server times out, don’t worry, you can visit the reset function again and you can choose to resume where it left off.

We’d like to thank all the users on the support forums that worked with us to help us reproduce the problem ourselves, and hope that now everyone can enjoy the use of timezones on Events Manager!

Project Gutenberg

Whilst we were at it, we snuck in a little side-feature among other fixes/tweaks… support for Gutenberg! If you are testing out the new editor that’ll soon be part of WordPress, try adding this line to your wp-config.php file:

define('EM_GUTENBERG', true);

As the time draws nearer to release, we’ll look at making the meta boxes look more inline with the editor styling, but for now, all the EM features are at least available in the Gutenberg editor.

Changelog

As usual, here’s the changelog breakdown:

  • fixed the & operator in category search attribute not working correctly in MultiSite Global Tables mode
  • added fix/workaround for any code that changes the timezone from WP’s UTC timezone during runtime
  • fixed multisite upgrade issues with timezones
  • added option to reset timezones for all blogs on multisite and also reset each blog to its individual WP timezone
  • changed default subscriber capabilities so they can’t submit events by default
  • added option to resume failed timezone resets on multisite blogs
  • added upgrade warning for multisite users who upgraded to 5.9 and had timezone update errors
  • fixed (deprecated with backward compatibility) shorthand EM_Booking object properties such as ‘status’ not having values after 5.9 update
  • fixed recurrence pattern date miscalculations on sites where a plugin/theme changes the default server timezone after WP sets it to UTC
  • added gutenberg support with define(‘EM_GUTENBERG’, true); defined in wp-config.php
  • fixed new tickets not being added to previously created recurring event where bookings were previously disabled
  • added tweaked EM_DateTime functionality so functions that might return false in DateTime set valid property to false before returning object for chaining