Not really network capable
The Events Manager plugin is currently (2017-03-14) not properly network-aware. This causes trouble in several ways.
Missing database tables
The plugin cannot be activated network wide; it must be activated locally, on each blog.
This is due to the fact that the events and location data is stored not only in the normal WordPress tables, but external tables specifically for Events Manager.
To check whether you have the correct tables, open your database manager and see if the following tables have been created for each blog the plugin is activated on:
If you do not see the above tables, and reactivating the plugin locally doesn’t work, you will need to
- activate Events Manager
- use the uninstall command from the plugin list
- activate again
Note that this will delete all event data from the blog, so ask the Events Manager authors for info on how to export / import your events.
Static database table references
During broadcasting, the blog is switched back and forth.
When the Events Manager plugin is loaded, it saves the current table names (from above). After switching blogs, it still uses the same tables names to save / restore event data.
So if you broadcast from blog 4 to 10, Events Manager will store event data in wp_4_em_events even though the blog has switched to blog #10. This is, of course, incorrect.
I have contacted the authors and offered a patch that makes the Events Manager plugin work properly.
Their static references to tables also makes deleting events and locations dangerous from the parent blog. The solution is to delete events and locations by going to each child blog and manually deleting the items, instead of doing if from the main blog.
For those that cannot wait for the Events Manager authors to fix their plugin to use standard WordPress table referencing, you are welcome to try a version of the plugin that includes my patch: events-manager.184.108.40.206.patched
How does it work so well for me?
When creating the add-on, I had the Events Manager plugin activated locally, on two blogs that were not blog 1: blogs 64 and 65 to be precise.
The tables were correctly created for both blogs and events and locations were gladly copied over without trouble.
It’s only when people started reporting errors with the plugin activated network wide that I noticed how badly it was written.