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
* Attendance reporting for events and memberships if the rsvp or member qrcode is scanned by someone with enough rights
* 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, with optional QR code to scan for attendance/payment info
* 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, Mercado Pago
* Send mails to registered people, automatically send reminders for payments
* Automatically send reminders for memberships that are about to expire or have expired
* Mail queueing and newsletter functionality
* Mailings can be planned in the future, cancelled … and can include extra attacments
* Multi-site compatible
* Several GDPR assistance features (request, view and edit personal info via link; delete old records for mailings, attendances, bookings)
* 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 (make sure your configured database user has the right to create/modify tables and columns)
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.

Perguntas frequentes

See the FAQ section at the documentation site.


21 de Fevereiro, 2021
EME brings all feature together. It's the swiss knife app of all event apps. After reading the documentation you're able to adjust evertything and customize the app exactly you need for your page. After customization it looks as it's native programmed for your website. It's important to take your time to read the documentation (I think when you programm a real usable website you have this time). Thank you for this great app.
17 de Dezembro, 2020
The functionality and the friendly support do not need to shy away from the comparison to commercial products. Thank you very much!
28 de Novembro, 2020
I've looked at all sorts of membership & event plug-ins. I have actually installed and uninstalled this one twice. Installed because it does 90% of what you could want in a membership and event management tool. Uninstalled because it is extremely complex and arcane in its approach to just about everything. Re-installed because I wanted to give it another shot. Uninstalled again due to daunting complexity. My biggest gripe is that so many of the pieces and parts require building from the ground up. New member form? You have to create a template from scratch. New event form? Same. And something simple like asking for State turns into an adventure down the rabbit hole of setting up massive drop-down lists that can't be re-formatted easily. While there are CSS hooks for many elements, not all are either obvious or documented. So something simple like entering the State on a new member form becomes a drop-down that takes up the entire container width and there's no clear way of limiting its size. It seems to be hard-coded into the #_State template tag. I suspect for the professional developer, this could be the best events plug-in out there. But for part-time hackers like me, it's too complicated. I give the developer credit, he does respond to questions within a day or so but some of those responses are a bit terse. And his own site continually throws up an automated bot error making it impossible for me to search on solutions in his forums.
14 de Outubro, 2020
I've looked through many other paid and unpaid other event managers, but none have the all the functionalities that are on board of this plugin! From single events to multi-day events to returning events, different price options including discount structures, booking handling including automated client mails, totally customizable e-mail and page templates, support for many different payment providers... and my list can go on! When you start, it seems complicated - but in fact when you understand the structure, it's well organised. The plugin is pretty well documented. What does require some work is that you need to create the desired design for the webpage output yourself, but that actually makes it quite flexible in any theme. Hats off for the developer, a 5-star review and donation is well deserved!
23 de Setembro, 2020
This is a trully great and genuinly free plugin for Events. No "pro" version, everything is included for free. The support also is good and friendly. Needs a bit of learning, still i haven't found anything as good and free as EME.
Ler todas as 101 avaliações

Contribuidores e programadores

“Events Made Easy” é software de código aberto. As seguintes pessoas contribuíram para este plugin:


“Events Made Easy” foi traduzido para 7 locales. Obrigado aos tradutores pelas suas contribuições.

Traduza o “Events Made Easy” para o seu idioma.

Interessado no desenvolvimento?

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

Registo de alterações

2.1.111 (2020/02/26)

  • Allow expired members to sign up again too: this will change nothing in the db but they will be redirected to the membership payment page
  • Update Braintree API to 5.5.0
  • Update Stripe API to 7.75.0
  • Update Mercado Pago API to 2.2.1
  • Allow to skip payment directly after booking

2.1.110 (2020/02/16)

  • Correctly ignore mail count if the same tracker id arrives within a timeframe of 2 minutes
  • Add some hints for mail templates to inform people when some template will not be used.
  • Small maxlength fix for time-fields in events which would complain due to new jquery validation (if your wp settings cause the local time to be displayed in more than 8 chars only)

2.1.109 (2020/02/08)

  • Added “only_if_not_registered” and “only_one” options to the shortcode eme_add_multibooking_form
    The only_one option (default 0) – if value=1 – will cause a dropdown of the matching events to show, and not a select-box list.
  • Added “scope” option to the shortcode eme_add_multibooking_form (like for the eme_events shortcode)
  • Start using the jquery validate plugin in the backend, so we can jump to the specific event/location/membership tab that has a validation problem if that’s the case
  • Add pending bookings count to EME admin menu as a badge
  • Add “datetime (JS)” and “time (JS)” as formfield types
  • Lots of db cleanups, using the local date/time and never db date/time again (it works fine, but just too confusing to take into account multiple timesources)
  • Update select2 to 4.1.0-rc.0
  • Update dompdf to 1.0.2
  • More descriptive error messages upon import failure

2.1.108 (2020/01/30)

  • Fix the cancel specific booking per event functionality (when using #_CANCEL_LINK)

2.1.107 (2020/01/29)

  • Fix the cancel all bookings for an event functionality (e.g. when using #_CANCEL_OWN_LINK)
  • Added placeholders #_BOOKINGPDF_URL{xx} and #_MEMBERPDF_URL{xx} (with ‘xx’ being a template id) that allows you to generate pdf’s with booking/member info in them and mail that url to the person in question. If this placeholder is used multiple times with the same template (e.g. when you use it in “pending” and “approved” mail templates), the newest one remains and the older ones get removed. These placeholders can also be used in the booking thank-you message or the member signed-up template.
  • Make sure that the ticket PDF is also sent for pending bookings upon booking time if the setting is “at booking time” or “always”
  • Show mail subject in mailing overview too

2.1.106 (2020/01/25)

  • Fix mail tracking (it was not being stored in the db due to the new option)
  • Add database index to random_id in the mail queue table, to be more efficient for searching
  • Correct multivalue event field filtering in the filter form
  • Implement first/last read datetime for mails (and not just the first read datetime)
  • Added event scopes this_year–yesterday and YYYY-MM-DD–yesterday to show past events
  • Align some event payment options with newer code (removes 6 columns in the database for events: ‘use_paypal’,’use_2co’,’use_webmoney’,’use_fdgg’,’use_mollie’ and ‘use_sagepay’)
  • Ajaxify subscribe/unsubscribe/gdpr/gdpr approval forms
  • Shortcode [eme_change_personal_info] added, which allows people to change their own personal info. The form to change the info can also be configured in the EME settings (tab GDPR)
  • Some CSS id’s got renamed. While I tried to keep backwards compatibility: if you have custom CSS for the RSVP or membership forms, I advise to check your layout.
  • Added [eme_request_personal_info] as an alias for [eme_gdpr] (it is more than just for gdpr compliance anyway)

2.1.105 (2020/01/16)

  • Fix expiration reminders for members

2.1.104 (2020/01/14)

  • Remove the “always queue” option, now this is default when mail queueing is activated.
  • Store the person id or member id for rsvp or member mails, so you can reschedule properly if wanted
  • Allow the reschedule action on all queued mails
  • Add an option so you need to explicitly activate mail read tracking
  • Fix for: if the option to create a WP user upon registering is checked, we check if the email is not already taken in WP before accepting the booking if the booker is not logged in
  • WP id is stored with the EME person, so no need to store it again per booking.
  • Show all future events when trying to send event-related mails, not just the rsvp-enabled ones
  • The placeholders #_MEMBERNEXTENDDATE and #_MEMBERENDDATE also take expired into account now
  • Update Stripe API to 7.67.0
  • Editing people resulted in a copy of the person with the changes if lastname/firstname/email was changed

2.1.103 (2020/01/07)

  • Allow custom seo prefix for categories and locations as well
  • Correctly show relevant uploaded files in rsvp overview
  • Allow “0” for membership reminder mails too, and don’t send expiration reminderds for pending members
  • Make #ESC_TOTALSPACES return 0 for events with no space limit

2.1.102 (2020/12/30)

  • Fix some undefined vars and optimize code
  • Show relevant uploaded files in rsvp/people/members overview too

2.1.101 (2020/12/29)

  • Add an extra option to be able to change the page title for themes that don’t work using in_the_loop correctly (which seems to be a lot of themes …)
  • Fix some undefined var I introduced to respect the membership start date for fixed period membership if that start date is in the future

2.1.100 (2020/12/29)

  • If the option to create a WP user upon registering is checked, we check if the email is not already taken in WP before accepting the booking if the booker is not logged in
    This to avoid the creation of an EME user that is then not correctly linked to a WP user.
  • Update Braintree API to 5.4.0
  • Respect the membership start date for fixed period membership if that start date is in the future
  • Allow multiple event seo prefixes to be defined, so you can choose per event which prefix you like best

Older changes can be found in changelog.txt