Events Made Easy

Description

Events Made Easy is a full-featured event management solution for WordPress. Events Made Easy supports public, private, draft and recurring events, locations management, RSVP (+ optional approval), Paypal, 2Checkout, FirstData and Google maps. With Events Made Easy you can plan and publish your event, or let people reserve spaces for your weekly meetings. You can add events list, calendars and description to your blog using multiple sidebar widgets or shortcodes; if you are a web designer you can simply employ the template tags provided by Events Made Easy.

Events Made Easy integrates with Google Maps; thanks to geocoding, Events Made Easy can find the location of your event and accordingly display a map.
Events Made Easy handles RSVP and bookings, integrates payments for events using paypal and other payment gateways and allows payment tracking.

Events Made Easy provides also a RSS and ICAL feed, to keep your subscribers updated about the events you’re organising.

Events Made Easy is fully multi-site compatible.

Events Made Easy is fully customisable; you can customise the amount of data displayed and their format in events lists, locations, attendees and in the RSS/ICAL feed. Also the RSVP form can be changed to your liking with extra fields, and by using EME templates let you change the layout even per page!

Events Made Easy is fully localisable and already partially localised in Italian, Spanish, German, Swedish, French and Dutch.

Events Made Easy is also fully compatible with qtranslate (and mqtranslate): most of the settings allow for language tags so you can show your events in different languages to different people. The booking mails also take the choosen language into account.

For more information, documentation and support forum visit the Official site .

Screenshots

Installation

Always take a backup of your db before doing the upgrade, just in case …
1. Upload the events-made-easy folder to the /wp-content/plugins/ directory
2. Activate the plugin through the ‘Plugins’ menu in WordPress
3. Add events list or calendars following the instructions in the Usage section.

Usage

After the installation, Events Made Easy add a top level “Events” menu to your WordPress Administration.

  • The Events page lets you edit or delete the events. The Add new page lets you insert a new event.
    In the event edit page you can specify the number of spaces available for your event. You just need to turn on RSVP for the event and specify the spaces available in the right sidebar box.
    When a visitor responds to your events, the box sill show you his reservation. You can remove reservation by clicking on the x button or view the respondents data in a printable page.
    You can also specify the category the event is in, if you activated the Categories support in the Settings page.
    Also fine grained control of the RSVP mails and the event layout are possible here, if the defaults you configured in the Settings page are not ok for this specific event.
  • The Locations page lets you add, delete and edit locations directly. Locations are automatically added with events if not present, but this interface lets you customise your locations data and add a picture.
  • The Categories page lets you add, delete and edit categories (if Categories are activated in the Settings page).
  • The People page serves as a gathering point for the information about the people who reserved a space in your events.
  • The Pending approvals page is used to manage registrations/bookings for events that require approval
  • The Change registration page is used to change bookings for events
  • The Settings page allows a fine-grained control over the plugin. Here you can set the format of events in the Events page.
  • Access control is in place for managing events and such:
    – a user with role “Editor” can do anything
    – with role “Author” you can only add events or edit existing events for which you are the author or the contact person
    – with role “Contributor” you can only add events in draft or edit existing events for which you are the author or the contact person

Events list and calendars can be added to your blogs through widgets, shortcodes and template tags. See the full documentation at the Events Made Easy Support Page.

FAQ

See the FAQ section at the documentation site.

Installation Instructions

Always take a backup of your db before doing the upgrade, just in case …
1. Upload the events-made-easy folder to the /wp-content/plugins/ directory
2. Activate the plugin through the ‘Plugins’ menu in WordPress
3. Add events list or calendars following the instructions in the Usage section.

Usage

After the installation, Events Made Easy add a top level “Events” menu to your WordPress Administration.

  • The Events page lets you edit or delete the events. The Add new page lets you insert a new event.
    In the event edit page you can specify the number of spaces available for your event. You just need to turn on RSVP for the event and specify the spaces available in the right sidebar box.
    When a visitor responds to your events, the box sill show you his reservation. You can remove reservation by clicking on the x button or view the respondents data in a printable page.
    You can also specify the category the event is in, if you activated the Categories support in the Settings page.
    Also fine grained control of the RSVP mails and the event layout are possible here, if the defaults you configured in the Settings page are not ok for this specific event.
  • The Locations page lets you add, delete and edit locations directly. Locations are automatically added with events if not present, but this interface lets you customise your locations data and add a picture.
  • The Categories page lets you add, delete and edit categories (if Categories are activated in the Settings page).
  • The People page serves as a gathering point for the information about the people who reserved a space in your events.
  • The Pending approvals page is used to manage registrations/bookings for events that require approval
  • The Change registration page is used to change bookings for events
  • The Settings page allows a fine-grained control over the plugin. Here you can set the format of events in the Events page.
  • Access control is in place for managing events and such:
    – a user with role “Editor” can do anything
    – with role “Author” you can only add events or edit existing events for which you are the author or the contact person
    – with role “Contributor” you can only add events in draft or edit existing events for which you are the author or the contact person

Events list and calendars can be added to your blogs through widgets, shortcodes and template tags. See the full documentation at the Events Made Easy Support Page.

Reviews

EME is an excellent events plugin

I like Events Made Easy, because of its capabilities and flexibility to setup events. The fact that it’s absolutely free, there is no premium version available, is tremendous. The functions and flexibility alone are worth 5-stars.

If you want to setup EME to your liking. It comes with many placeholders, what makes it very flexible in arranging on how you present events inside its page or accept payments. It has many payment services already included. But this is not for users who are looking for an easy to setup events plugin. With basic HTML knowledge you can get want you’re looking for.

I wish settings area would be more “visual” to be easier to work with for basic users, who are no tech geeks. By visual i mean a way to move placeholders with the mouse or touch and place them where you want them, without typing. Setting up the booking/cancelling form(s) with that liking. Drag’n’drop is so easy, but I guess hard to code.

The best with this plugin is his developer, Franky. If he’s understood your problem, he’s eager to implement your suggestion. I think EME is side-project, a hobby, for him, and sometimes you have to wait for a response, but it’s coming.

The downside is, he’s the only one working on EME and the plugin doesn’t work with custom post/pages types and cannot simply share events to whatever we’d like to share it to. It does work with sharing buttons, but Openraph is tricky to setup and doesn’t work correctly for me, even when you follow the guidelines. When setup, it runs smoothly and it’s easy to add events.

Nevertheless, it’s a very helpful Events Management Plugin and if you are a developer, i guess the author would be thankful for code suggestions.

The crucial test is coming next month and if it works, i.e. sells tickets, a Donation is coming soon!

Thank you.

Extremely Flexible!

The flexibility of this plugin is what makes it so powerful. The fact that you can create your own templates for how events layout within the plugin means it can literally fit anywhere in any theme and look great doing it. It takes a little time to customize to fit your needs but the possibilities are endless. Love this plugin.

The best for custmization

In the beginning I had difficulties to bring it to my needs, because I did not get how to use the templates.
After finding them in the EME Admin Panel, I learned to use the EME placeholders.
🙂

Then I tried the conditional tags. In the docs you find in the forelast row this:
“I also added [eme_if2], [eme_if3], [eme_if4] … till [eme_if15], if you want to use more than one level of logic.”
(Use f.e. like [eme_if] xxxx [eme_if2] yyyy [/eme_if2][/eme_if])
With this powerful tool you can do anything in displaying events with this great plugin!

Thank you so much Franky, donation coming soon!

Excellent Plugin

Just wanted to say this plugin is very powerful and Franki’s customer support is great he really does go that extra mile to help!

Read all 74 reviews

Contributors & Developers

“Events Made Easy” is open source software. The following people have contributed to this plugin.

Contributors

“Events Made Easy” has been translated into German (Formal). Thank you to the translators for their contributions.

Translate “Events Made Easy” into your language.

Interested in development?

Browse the code or subscribe to the development log by RSS.

Changelog

1.8.4 (2017/05/27)

  • small bugfix release to fix renamed function in eme_locations.php

1.8.3 (2017/05/27)

  • Allow automatic reminders to be sent (in the cleanup section)
  • More control over sending mails when changing registrations
  • Allow resending pending or approved mail for selected bookings in the rsvp admin screens
  • Revamp the edit-event screen
  • Removed the fb-sync here, there’s a separate plugin that does that better

1.8.2 (2017/05/18)

  • Fix a settings error on the map settings page

1.8.1 (2017/05/14)

  • Added placeholders #_AVAILABLEWAITINGLISTSEATS and #_WAITING_LIST_CLOSED, and make #_WAITING_LIST_ACTIVE actually work too
  • Correct template sorting selection when sending mails
  • Add a setting to ignore certificate problems for secure SMTP (some hosting providers need this …)
  • Remove a redundant end-div tag in the cancel form if the event has already passed

1.8.0 (2017/04/23)

  • Fix for eme_events month scope ranges
  • Allow divs for calendar layout, making the calendar responsive in case you want it too (see the shortcode doc)
  • Stripe payments were twice multiplied by 100, this is fixed now, together with other stripe fixes
  • Make sure the example locations are created correctly for new installations
  • Improvement: the ‘No events’ message now also has a span and not a div surrounding it, with id ‘events-no-events’. Reason: div could interfere with the surrounding layout (if inside a p-tag for example)
  • Waiting list feature implemented, together with some extra placeholders for events (#_WAITING_LIST_ACTIVATED and #_WAITINGLISTSEATS) and for the RSVP mails (#_ON_WAITINGLIST), see the doc
  • Now one can indicate that RSVP formfields can influence the total price, this allows you to create for example “donation fields”
    or allow people to pay for extra attributes ordered (t-shirt, drinking tickets, …)

1.7.18 (2017/03/28)

  • Entered custom field values were not correctly shown when editing a booking
  • Make the field_name available in eme_get_answers again, easier for discount codes (so people don’t need to change their code)

1.7.17 (2017/03/27)

  • In mails, add newlines carefully, to not disrupt possible html layout
  • Custom field values were empty in the mails

1.7.16 (2017/03/26)

  • BUGFIX BUGFIX BUGFIX!!!
  • People that use custom answer fields and already updated to 1.7.15 should either:
    • revert to a backup of their database for 1.7.14 and update to 1.7.16, or:
    • revert to a backup for their answers table (from before 1.7.15) and execute the following query afterwards:
      ALTER TABLE wp_eme_answers add field_id INT(11) DEFAULT 0;
      UPDATE wp_eme_answers SET field_id = (select field_id from wp_eme_formfields where field_name = wp_eme_answers.field_name LIMIT 1);
      ALTER TABLE wp_eme_answers DROP COLUMN ‘field_name’;
      (and check if the newly created column field_id contains the correct field id numbers)

(The second method is less intrusive but requires a bit more manual work)
You can check if you’re impacted by looking at your wp_eme_answers table in mysql and see if the column field_id contains any NULL values

1.7.15 (2017/03/24)

  • Support zero-decimal currencies in Stripe (like JPY)
  • Prevent html-chars for text stuff in rsvp placeholders (again)
  • Widget used a unchecked calendar_day variable in a date string (it couldn’t hurt, but attackers try everything and it is not pretty in logfiles)
  • Show “my bookings” more consistently for logged in users
  • Better html-editor usage
  • Removing a custom field will also delete the RSVP answers linked to that field (if any)
  • Since Google Maps require an API key, maps are no longer attempted to be shown if no API key is entered
  • Even more rigurous javascript/html removal from rsvp form input. I already removed all html-tags, but sometimes it might not be enough (no XSS known here, but one never knows)
  • Better error message if a new recurrence contains no events
  • Allow to put a reservation back in pending state
  • Bugfix: when sending mails concerning unpaid bookings, all bookings were mailed (not just the unpaid ones)
  • Bugfix: location dropdown select was not showing the map anymore
  • Workaround: wordpress allows wrongly encoded chars to pass in their db-functions, so I’m cleaning these out now (usefull for e.g. facebook syncs, that also can pass wrongly encoded chars)
  • Renamed the admin page events-manager to eme-manager

1.7.14 (2017/03/02)

  • Fix cal header days

1.7.13 (2017/03/02)

  • Extra sorting in the bookings admin table
  • Prevent double RSVP submits by disabling the submit button after click
  • Make sure #_FIELDVALUE gets replaced correctly
  • Formfield types checkbox and radiobox now correctly use “labels” in the generated html (no longer plain html text)
  • Prevent html-chars for text stuff in rsvp placeholders
  • Some formats are allowed to have javascript in them, but it was removed upon save
  • Better edit for existing events/locations
  • Allow to filter by date in the backend for events and bookings

1.7.12 (2017/02/14)

  • Dutch language updates (thanks to Benny De Vuyst)
  • The location placeholders #_PASTEVENTS, #_NEXTEVENTS, #_ALLEVENTS now have an optional parameter so you can decide the sorting order
    of the events shown. Default is ASC, so e.g.:
    #_PASTEVENTS{ASC}
    #_NEXTEVENTS{DESC}
    More complex ordering can be used too, see the eme_events shortcode for tips
  • Allow the status of the event to be given as an url parameter for the admin list of events, so you can quickly show the list
    of e.g. draft events:
    /wp-admin/admin.php?page=eme-manager&status=2
    (1: public, 2: private, 5: draft)
  • The text “Required field” in the rsvp form can now be customized in the rsvp settings
  • The ical location format for an event can now be customized in the ical settings
  • Bugfix: eme_filters shortcode could skip a month for the month filter

1.7.11 (2017/01/21)

  • Allow to search for location countries too (placeholder FILTER_COUNTRIES added for the eme_filter shortcode layout)
  • The shortcode eme_filterform can now also be used together with the shortcode eme_locations (using the filters FILTER_LOCS, FILTER_TOWNS, FILTER_COUNTRIES)
  • Added API function eme_wordpress_search_locations, to allow you to search for locations (as eme_wordpress_search_events). See the doc
  • Put js as much in the footer as possible, and defer the execution also, to speed up page rendering
  • RSS pubdate was being localised and it should be RFC822 format, this has been corrected now
  • The people table can now be exported, printed and searched like the events table
  • The locations table has been ajaxified too
  • The ‘order’ option in [eme_events] can now contain own columns you want to order on.
    The default is “event_start_date ASC, event_start_time ASC, event_name ASC”
  • Try to remove yoast SEO headers from the special page
  • The shortcode eme_if now also accepts “eq” as an alternative for “value” and “ne” as an alternative for “notvalue”
    This is more in line with the other options (lt, gt, ge, …)

1.7.10 (2016/12/16)

  • Fixed #_LOCATIONIMAGETHUMBURL
  • Added #_LOCATIONIMAGETHUMBURL{MyCustomSize}
  • Split out mail templates in separate section, so we can easily take the option to send html mails into account and disable the
    html editor if not needed
  • Fixed some location issues

1.7.9 (2016/12/11)

  • Offline fix

1.7.8 (2016/12/10)

  • Add new discount type “fixed discount per seat”
  • Add offline-payment setting
  • Backwards incompatibility: renamed the multibooking option eme_register_empty_seats to just register_empty_seats
    (and documented it)
  • Backwards incompatibility: for a multibooking, events that use the attendance option won’t store empty seats (the ‘no’-answer) unless you use the option register_empty_seats=1 (default=0)
  • The HTML editor is shown for many settings/templates now, more will follow after feedback
  • Add extra fields for location info: address1, address2, city, state, zip, country (the old address field is now address1; the old town field is now city).

1.7.7 (2016/11/01)

  • Make the delete icon for events and discounts actually work again
  • Add option to make captcha case insensitive
  • Make notices permanently dismissable again

1.7.6 (2016/10/14)

  • Added eme_for shortcode, to be able to show certain html multiple times (2 values: min, max, see doc for examples)
  • Bugfix: show the no-longer-allowed-to-book message again if the end-date has passed (not for multi-booking)
  • Bugfix: allow 0-seats for attendance-like events again
  • Bugfix: the extra attributes field for formfields was not showing the correct value when editing the formfield
  • Add the possibility to send a test email via the “Send Mails” page
  • Bugfix: the smtp port setting was not correctly taken into account (always resulting in port 25 being used)

1.7.5 (2016/09/14)

  • Client clock functionality was not working anymore
  • Fix setting ‘Age of unpaid pending bookings in minutes’
  • Make captcha work again (although sometimes it worked … the quirks of php session autostart I guess)

1.7.4 (2016/09/13)

  • Mail was not being sent after payment arrived for autoapproval

1.7.3 (2016/09/12)

  • Moving a registration to another event was not working anymore

1.7.2 (2016/09/07)

  • Make sure mail is sent out when denying a registration
  • Correct the link to RSVP in the Pending registration menu
  • When adding a booking in the backend, don’t mark it immediately as paid
  • Add booking ID back to rsvp overview

1.7.1 (2016/09/06)

  • Small fix: make sure payments received via ipn approve the booking if auto-approve is set
  • Improvents in the event overview: you can now click on pending bookings

1.7.0 (2016/09/06)

  • Paging events for the last day of the month failed if the next month has fewer days. E.g. if you’re
    on August 31 and tried to go to the next month via event paging, it would give you October because Sept 31 doesn’t exist
  • Added the possibility to send mails after payment notification from payment gateway was received. You just need to set what you want in the regular mail settings page of EME.
  • Added shortcode [eme_holidays], with 1 parameter: the id of the holidays list. Will return a simple html list of your holidays list
  • The event listing in the backend is now ajax based, this will result in much better performance if you have many events
  • Bugfix: typo: payed => paid

Older changes can be found in changelog.txt