Events Made Easy


Events Made Easy is a full-featured event and membership management solution for WordPress. Events Made Easy supports public, private, draft and recurring events, membership and locations management, RSVP (+ optional approval), several payment gateways (Paypal, 2Checkout, FirstData, Mollie and others) and OpenStreetMap integration. With Events Made Easy you can plan and publish your event, or let people book 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 placeholders provided by Events Made Easy.

Main features:
* public, private, draft and recurring events with custom and dynamic fields in the RSVP form
* membership management with custom and dynamic fields
* page and post content protection through memberships or via shortcodes
* drip content via memberships
* People and groups with custom fields per person
* PDF creation for membership, bookings and people info
* Membership card or booking ticket can be sent as PDF via mail automatically
* RSS and ICAL feeds
* Calendar management, with holidays integration
* Several widgets for event listings and calendar
* location management, with optional OpenStreetMap integration
* RSVP bookings with custom fields and dynamic fields, payment tracking, optional approval, discounts
* Templating for mails, event lists, single events, feeds, RSVP forms, … with specific placeholders for each
* Lots of shortcodes and options
* Payment gateways: Paypal, FirstData, 2CheckOut, Mollie, Worldpay, Sagepay, Stripe, Braintree, Paymill, Instamojo
* Send mails to registered people, automatically send reminders for payments
* Mail queueing and newsletter functionality
* Mailings can be planned in the future, cancelled …
* Multi-site compatible
* Fully localisable and already fully localised in German, Swedish, French and Dutch. Also fully compatible with (m)qtranslate(-xt): 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 .



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.


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

  • The Events page lets you manage your events. The Add new page lets you insert a new event.
    Generic EME settings concerning RSVP mails and templates can be overriden per 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 Holidays page is used to define and manage holiday lists used in a calendar
  • The Custom fields page lets you manage custom fields that can be used for events, locations, people, members, memberships and RSVP definitions
  • The Template page lets you manage templates for events, memberships, mails, pdf creation, …
  • The Discounts page lets you manage discounts and discount groups used in RSVP or membership definitions
  • The People page serves as a gathering point for the information about the people who booked a space for one of your events or for members personal info.
    It can also be used to add custom info for a person based on the group he’s in, so as to reflect the structure of an organization or just store extra info
  • The Groups page
  • The Pending bookings page is used to manage bookings for events that require approval.
  • The Change bookings page is used to change bookings for events.
  • The Members page is used to manage all your members (e.g. membership status, custom member info).
  • The Memberships page is used to define and manage your memberships.
  • The Countries/states page can be used to define countries and states (in different languages) for personal info in membership and RSVP forms
  • The Send mails page allows the planning, creation and management of mailings for events or generic info (many options possible)
  • The Scheduled actions page is used to plan automated EME tasks (like sending reminders, cancel unpaid bookings, newsletter)).
  • The Cleanup actions page
  • The Settings page is used to set generic EME defaults for events, payment gateways, mailserver info, mail templates, …
  • Fine-grainded configurable access control (ACL) for managing events, locations, bookings, members, …

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


See the FAQ section at the documentation site.


March 26, 2020
It would be great if I could have added even a single event. Or if the video the developer posted showed how to do the MOST BASIC THING POSSIBLE... that being actually showing how to add a new event. And don't be fooled at over 40 minutes long, the video is NOT a "quick rundown". Every time I tried to add even a simple test event, I kept getting this type of error Table 'db822076813.ieThOZcyeme_events' doesn't exist
October 30, 2019
Ich verwende EME seit mehreren Jahren und bin top zufrieden damit! Auch wenn es einem als Nicht-Programmierer schwer fällt, die ein oder andere persönliche Anforderung an das Plugin umzusetzen, die Möglichkeiten sind jedenfalls schier unendlich. Das Plugin wird ständig weiter entwickelt und realisierbare Feature-Wünsche werden auch umgesetzt.
October 22, 2019
After several tested plugins for ticket bookings, I decided to go with EME because it is very flexible and you can get used to it very quickly. Also a good export function is built in order to be able to print booking lists. Very important: The developer regularly provides updates and responds quickly to notifications about bugs or new ideas/features/requests in the EME-forum. ... and it's absolutely free - which is a good reason for a donation (everyone has to pay for his coffee)! Keep it up...
July 14, 2019
The Events Made Easy plugin can do just about everything I need to create, manage, and ticket events. Flexible with lots of settings to customise it, and the ability to take payments built in. Just understand that there's a little learning curve, so take some time to read the documentation to get started.
July 7, 2019
Il offre de très nombreuses possibilités et répond à de très nombreuses situations sans forcer la main. Il demande cependant un investissement certain pour en tirer toutes les subtilités. Sa traduction récente en français apporte une aide non négligeable.
March 16, 2019
From the first look it seems a complicated plugin. So first I deactivated it and started to look for other event plugins. Then I came back to EME (including the front end plugin) and started to read the description more carefully. As soon as you get a grip on the structure, it is a breeze to set it up and create your events pages. You can do almost anything with it. It is very flexible and you are not restricted by a time frame to pay for the use of a very well written plugin as it is free. But I am convinced that no good work must left unpaid. And the best feature of this plugin is the support. It is super fast and the author does more than expected to help you with your problems. He even looked into the theme that was actually creating the problem and found the solution. This is what I call a SUPPORT.
Read all 93 reviews

Contributors & Developers

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


“Events Made Easy” has been translated into 7 locales. Thank you to the translators for their contributions.

Translate “Events Made Easy” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


2.1.72 (2020/04/04)

  • Fix some undefined variables
  • Fix call to wp_kses when saving the EME access denied option

2.1.71 (2020/04/04)

  • Fix some undefined variables
  • Fix the location url for the google ld+json html header

2.1.70 (2020/04/02)

  • When adding a person, custom person field weren’t saved upon creation but only upon edit
  • Location admin interface overhaul
  • Added #_LOCATION_EXTERNAL_URL, as a location can now be totally online (virtual), physical or a combo (and then you might need the url)
  • Added eventAttendanceMode to google json+ld output for events
  • Existing filter eme_extra_event_headers_filter renamed to eme_extra_event_headers_json_filter, to indicate it is really only used for the json-part of the extra headers for an event
  • New filter eme_extra_event_headers_filter that can filter on other extra event headers being added (meta tags)
  • You can now receive partial payments for a booking too (only via the admin itf for bookings)
  • Added refund option (only for Mollie and Instamojo for now)
  • Updated Mollie api to 2.17.0

2.1.69 (2020/03/13)

  • Implement drip content
  • Update dompdf to 0.8.5
  • Fix some url escaping when sending mails
  • Extra generic placeholder #_INCLUDE_TEMPLATE, so you can include a generic template where you want
  • Template include placeholder (#_INCLUDE) has been renamed to #_INCLUDE_TEMPLATE too

2.1.68 (2020/03/08)

  • When importing members from CSV, overwrite existing members if already present
  • Keep EME and WP userinfo more in sync
  • When updating a person and changing the linked WP user, make sure no other user has that WP id. Also, refuse the update if another EME person already exists with the same lastname/firstname/email as the linked WP user
  • If an EME person is linked to a WP user, the lastname/firstname/email of the person will be replaced by those of WP and these can then only be edited via the WP profile

2.1.67 (2020/03/05)

  • Fix an undefined variable that caused RSVP events to appear to be always full

2.1.66 (2020/03/04)

  • Fix autocomplete for members in the frontend
  • If the logged in user has a EME phone entry, also use that in autocomplete when needed
  • The “access denied” message per page is now an EME template selection
  • The “access denied” message is now a new EME option (tab members) and can contain EME generic placeholders too
  • Check if memberships still exist when evaluating access to regular WP pages
  • Fix delete of memberships in the admin backend

2.1.65 (2020/03/01)

  • SQL fix for filtering locations in the backend
  • Fix the maybe_serialize function from wordpress, it is not working as expected

2.1.64 (2020/02/29)

  • #_IS_USER_MEMBER_OF should only return true for active members or members in the grace period
  • #_IS_USER_PENDING was always returning true, this is fixed
  • Make sure that generic placeholders inside the eme_if-shortcode content are also replace
  • Added the option to restrict regular wordpress page content to specific members

2.1.63 (2020/02/21)

  • Better code used for creating a wp user (so tools like wordfence won’t block the creation anymore)
  • Fix discounts with a “valid from” date (the date was wrongly handled as “valid until”)
  • Added #_EXPIRED_MEMBERSHIP_PAYMENT_URL{xx}, so you can show the payment url to expired members too
  • Added a membership option to allow expired members to renew the membership via their payment url
  • Show active memberships in the user profile’s EME section
  • Added a shortcode [eme_mymemberships], which will show a simple comma-seperated list of active memberships for the logged-in user
  • Added conditional placeholder #_IS_RSVP_PASSWORD_ENABLED, so you can show a message if the RSVP form submit is password protected

2.1.62 (2020/02/15)

  • Better encoding of the mail subject (avoid html encoded characters in the subject)
  • Make group edit work again (list of persons was not shown correctly)
  • Updated PayPal SDK to 1.0.1
  • Mollie notification to the event owner now only happen for actual payments, not when a booking is refunded
  • Add the option to select a header/footer template when doing pdf/html output in rsvp/people/members overview
  • Dynamic data option “on all fields” added for memberships (as for events)
  • Small sql fix that caused people to be shown multiple times if you selected groups in the backend

2.1.61 (2020/02/02)

  • Fix #_DYNAMIC_PRICE for members
  • Fix fields with extra charge for members
  • Allow logged in user to change his address for membership signup
  • The extra_charge for members was not allowed to be >127, this has been corrected
  • Allow vertical checkboxes to be required too (and actually enforce it)

2.1.60 (2020/01/27)

  • Added extra options to change some text shown on the rsvp form (in the generic options, tab RSVP)
  • Added placeholder #_RSVP_STATUS (returns 0 if rsvp is not yet allowed, 1 if allowed, 2 if ended)
  • Added a new shortcode eme_person: has 2 params (person_id and template_id)
    Returns info on a page on a person (or the person linked to the current logged in user if person_id is not provided)
  • Treat 0 and 0.0 as different values for custom fields like dropdown
  • Fix person image not being shown when using #_IMAGE* shortcodes
  • Make #_IS_USER_MEMBER_OF work again

Older changes can be found in changelog.txt