Quick Update – and Pro 2.1.1

Posted on March 26, 2012

A few users experienced a few issues with the recent update which is causing some confusion, so we’ve released an interim update which fixes these details.

Here’s a list of what’s changed:

  • fixed WP rewrite issue when assigned events page slug = events slug
  • fixed minimum ticket price placeholder problems
  • added dev version auto-updater
  • improved performance in events with booking widget listings
  • improved performance in date range searches (e.g. calendar)
  • reverted to using .delegate() instead of jQuery 1.7+ .on() listener for compatibility
  • slightly improved mail options logic and layout (plus php mail can send html emails now)
  • fixed BuddyPress conflict if groups component is disabled
  • fixed event spaces not overriding displayed values in booking stats pages

We’ll talk more about the features we’ve squeezed in too in the next 5.1.5 update.

One issue particularly which I’ve made a shotgun decision for is with regards to the JavaScript errors people are coming across. This is NOT an EM bug, but most commonly a bug with your theme, here’s why:

Some themes use a CDN or a private theme file as the jQuery library instead of using the default WordPress library. The idea behind the former is to speed up page loading time by taking the file off your server.  The problem with using a CDN is that if you hard-code the link to the jQuery library, at one point in time your theme will break because WordPress already has a set of jQuery files it uses and updates from time to time. When it’s the latter, it’s just plain old bad practice.

In this case, we’ve had to depreciate the use of jQuery’s .live() function, and we opted for the new alternative, .on(). However, since loads of themes are misbehaving as described above, they are using versions of jQuery less than 1.7, yet WordPress 3.3 uses this version. This makes the minimum version requirement rather redundant, so if your theme did this, let your theme author know what they’re doing wrong! In the end, it was decided to use the interim alternative, .delegate()


  1. sguk says:

    The problem is the standard jquery will not do some of the things jquerytools does. We still got the javascript error when removing jquerytools completely.

    We also use wordpress 3.2, not 3.3 because of incompatibility with some CMS plugins (tinymce / editor changes). Therefore we are probably not using jquery 1.7.

    We appreciate you actively looking at issues. Will take a look at this update :-)

    • marcus says:

      pretty sure that’s not the troublemaker (unless you’ve got outdated jquerytools scripts). jquerytools runs fine on 1.7, we actually use their overlay tool.

      however, you should be ok for now, we’re using delegate() now which is supported in earlier jQuery versions (1.4+ i believe)

  2. sguk says:

    actually here is the answer to anyone using the latest EM plugin versions and wordpress 3.2. Add this to your functions.php file in your theme folder. The other code I posted was incorrect, this works and solves the problem of the map and javascript not woking.

    function google_jquery() {
    wp_deregister_script( ‘jquery’ );
    wp_register_script( ‘jquery’, ‘http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js’, false, ‘1.7.1’);
    wp_enqueue_script( ‘jquery’ );
    add_action(‘wp_enqueue_scripts’, ‘google_jquery’);

  3. sguk says:

    My code doesn’t work very well, it stops javascript working in the admin of 3.2, possibly because WP 3.2 doesn’t support jquery 1.7.

    We decided to upgrade to WP 3.3 which gives us a couple of problems with the CMS (tinymce editor changes) but resolves all issues with EM because 3.3 natively supports jquery 1.7