Open Source WordPress Plugin

Events Made
Easy

The complete event management toolkit for WordPress. Events, bookings, memberships, payments, maps, calendars one plugin, zero compromises.

15Payment gateways
68Shortcodes
7Languages built-in
Free & donation-driven for 10+ years. Sponsor Donate
Scroll to explore
Capabilities

Everything you need to
manage events at scale

Events & Calendars

Public, private, draft and recurring events. Interactive calendar with month navigation, category filtering, and holiday integration.

RSVP & Bookings

Custom registration forms with approval workflows, waiting lists, multi-pricing, custom fields, and automatic email confirmations.

15 Payment Gateways

PayPal, Stripe, Mollie, Braintree, Mercado Pago, SumUp, Bancontact/Wero, 2Checkout, FirstData, Worldpay, Instamojo, Fondy, Opayo, Webmoney. All free, no add-on fees.

Maps & Locations

OpenStreetMap integration with marker clustering, custom balloons, location management with coordinates and venue details.

Memberships

Full membership lifecycle: registration, renewals, drip content, PDF cards with QR codes, family memberships, and expiry reminders.

Email & Newsletters

Mail queueing, scheduled mailings, payment reminders, membership expiry alerts, and newsletter functionality with attachments.

Live Demo

See it working right here

These are real shortcodes rendering live data. No mockups, no static images.

Events [eme_events]
Locations [eme_locations]
map
  • Arts Millenium Building
  • Taaffes Bar
  • The Crane Bar
Registration

One-click event registration

Custom booking forms with real-time seat availability, pricing, and instant confirmation.

Live Preview Generated by [eme_add_booking_form id=42]
Doe
Jane
jane@example.com
2
Total: €30.00
Send your booking
Template-driven layoutDesign your form with 200+ placeholders. Full HTML control over every field and label
Custom fieldsText, dropdown, radio, checkbox, date picker, file upload — unlimited fields of any type
Multi-pricingSeparate seat categories with individual prices, each with its own input field
Real-time pricing#_DYNAMICPRICE updates the total live as the visitor fills in the form
Discount codes#_DISCOUNT field lets visitors enter coupons — fixed or percentage, with date ranges
CAPTCHA protectionBuilt-in, Google reCAPTCHA, hCaptcha, or CF Turnstile — one placeholder, done
Waiting listForm auto-switches to waiting list mode when all seats are taken
Dynamic Fields

Form adapts based on
your selections

EME’s dyndata engine shows or hides fields in real time based on conditions like equal to, greater than, contains, and more.

Live Preview Watch the form change as the ticket type cycles
Jane Doe
jane@example.com
Standard
1
2
Vegetarian
Window seat
3
John Doe
Sam Doe
Alex Doe
Total € 15.00
Book now
Powered by EME’s dyndata conditions: eq, ne, gt, lt, contains, and more
9 condition typeseq, ne, gt, lt, ge, contains, notcontains, incsv, notincsv — cover any logic you need
Any field as trigger#_SEATS, #_FIELD{xx}, #_GROUPS — any form placeholder can drive a condition
Repeat modeSeats > 1? Auto-repeat guest name fields for each extra seat — no code needed
Template per conditionHeader, body, and footer template — full HTML control over what appears when matched
Nested custom fieldsDynamic templates contain their own form fields — answers stored per condition grouping
Live price updatePrice recalculates via AJAX when dynamic fields change — no page reload
Admin Interface

A complete back-office
at your fingertips

19 dedicated admin pages for events, locations, bookings, members, templates, mailings, and more.

yoursite.com/wp-admin/events-made-easy
Events management dashboard showing event list with status, dates, RSVP counts, and bulk actions
Overview of all your events with status, dates, RSVP counts, and bulk actions. Filter by scope, category, or location.
Event editor with title, dates, location, RSVP settings, description, and booking configuration
Create or edit events with full control over dates, recurrence, location, RSVP limits, custom fields, and pricing tiers.
Location management with venue list, filtering, and CSV export
Manage venues with addresses, coordinates, and images. Locations auto-link to events and appear on maps.
Email management with mailings, scheduling, target groups, and newsletter functionality
Plan and send mailings to people, groups, or members. Schedule in advance, attach files, and track delivery.
Template management for event lists, emails, PDFs, and RSVP forms
Define reusable templates for event listings, emails, PDFs, RSVP forms, and more using 200+ placeholders.
Plugin settings with tabs for general options, RSVP, payments, maps, and email configuration
Configure payment gateways, SMTP, maps, access control, SEO, and all plugin-wide defaults from one place.

19 Admin Pages

Events Locations Categories Holidays Custom Fields Templates Discounts Pending Bookings Approved Bookings Task Signups People Groups Members Memberships Countries/States Email Management Attendance Reports Scheduled Actions Settings
See EME in action Watch a quick walkthrough of the full admin interface, booking flow, and event management features.
Watch the tour
Modern Editor

Built-in Jodit WYSIWYG editor

WordPress ships with TinyMCE — a legacy editor showing its age. EME allows you to optionally switch to Jodit, a modern, lightweight HTML editor purpose-built for today’s web.

Jodit WYSIWYG Editor
Jodit WYSIWYG editor with rich toolbar showing bold, italic, lists, tables, media insertion, and formatting options
Rich formatting Bold, italic, lists, tables, links, and media insertion
Visual & Code mode Toggle between WYSIWYG and raw HTML editing
Media Library Insert images directly from WordPress uploads
Used everywhere Event descriptions, email templates, format strings
One click to switch Settings → Other → HTML Editor
Live preview See exactly what attendees will see, in real time
Under the Hood

More than meets the eye

A deep feature set built over 10+ years of real-world event management.

Custom & Dynamic Fields

Add unlimited custom fields to events, locations, people, members, and booking forms. Dynamic fields change based on user input.

PDF Generation

Automatic membership cards and booking tickets as PDF via email, with optional QR codes for attendance and payment verification.

GDPR Compliance

Built-in privacy tools: personal data requests, view/edit via secure links, and automated cleanup of old records for mailings, attendances, and bookings.

Attendance Tracking

Scan QR codes on membership cards or booking tickets to instantly verify attendance and payment status at the door.

Templating Engine

200+ placeholders for emails, event listings, feeds, RSVP forms, and more. Full control over every piece of output.

Content Protection

Gate pages and posts behind membership requirements. Drip content over time. Control exactly who sees what.

Scheduled Automation

Automatic payment reminders, membership expiry alerts, unpaid booking cancellations, and newsletter scheduling.

Volunteer Management

Define tasks per event and let volunteers sign up. Track who does what with dedicated task management shortcodes.

People & Groups

Centralized contact management with custom fields per person. Organize into groups to reflect your organization structure.

Form Security

Protect all forms with built-in captcha, Google reCAPTCHA, or hCaptcha. Prevent spam without third-party plugins.

Multi-lingual

Fully localized in 7 languages: German, Swedish, French, Dutch (NL+BE), Slovak, and Chinese. Compatible with qtranslate-xt and supports in-text language tags.

Fine-grained Permissions

Role-based access control for events, locations, bookings, members, and mailings. Multi-site compatible.

Frontend Event Submission

Let users create events from the frontend without admin access. Configurable notifications and optional submission fees.

Schema.org SEO

Automatic JSON-LD structured data for every event. Google rich results, Open Graph headers, and compatibility with Yoast SEO.

CSV Import & Export

Bulk import events, locations, members, payments. Export booking reports and volunteer signups as CSV.

Use Cases

Built for every type of event

🏫

Conferences

Multi-track schedules, speaker management, ticket tiers, early-bird pricing, and attendee check-in via QR codes.

🎶

Concerts & Festivals

Recurring events, multi-day festivals, venue maps, capacity management, and payment gateway integration.

🏛

Community Groups

Membership management, volunteer task signups, group communications, and recurring meetup scheduling.

🏃

Sports & Fitness

Class bookings, attendance tracking, membership tiers with drip content, and automatic renewal reminders.

68 Shortcodes

A shortcode for everything

Drop a shortcode on any page. Customize with parameters. Style with 200+ placeholders in templates.

Display

[eme_events scope="future" limit="6"] List events filtered by date, category, location, or author
[eme_calendar full=1] Interactive calendar with month navigation and event popups
[eme_locations_map width="100%" height="400"] OpenStreetMap with clustered markers for all locations
[eme_countdown id=42] Live countdown timer to any event start
[eme_event id=42] Display a single event anywhere using its template
+3 more: eme_locations, eme_categories, eme_holidays

Booking & RSVP

[eme_add_booking_form id=42] Full registration form with custom fields, pricing, and payment
[eme_add_multibooking_form ids="1,2,3"] Book multiple events at once in a single form
[eme_mybookings] Logged-in visitors see and manage their own bookings
[eme_attendees id=42] Public attendee list with configurable detail level
[eme_filterform] Search and filter form for events by date, category, location
+2 more: eme_cancel_booking_form, eme_bookings

Members & People

[eme_add_member_form membership_id=1] Membership signup with payment, custom fields, and family members
[eme_mymemberships] Members view and renew their own memberships
[eme_change_personal_info] Frontend profile editor for contact details and custom fields
[eme_gdpr] GDPR data request form — view, edit, or delete personal data
+2 more: eme_members, eme_people

Logic & Feeds

[eme_if condition]...[/eme_if] Conditional content based on login, groups, dates, or custom logic
[eme_for var="i" from=1 to=5]...[/eme_for] Loop over a range — generate repeated HTML from a template
[eme_tasks_signupform id=42] Volunteer task signup with slot management per event
[eme_rss_link] / [eme_ical_link] Auto-generated RSS and iCal feed URLs for any event scope
+2 more: eme_subform, eme_add_event_form
Under the Hood

What happens when
someone books?

From form to confirmed ticket — every step is automated, configurable, and transparent.

Visitor

Fills out the booking form

Name, email, seats, ticket type, dietary needs — whatever fields you’ve configured. Dynamic fields appear based on selections.

Custom fieldsMultipriceDiscount codesCAPTCHA
System — instant

16-point validation

Anti-spam honeypot, nonce check, seat availability, email uniqueness, required fields, location capacity, discount validity — all checked in one pass.

System — instant

Person record + booking created

Returning visitor? Existing record updated. New? Person created and optionally added to groups. Booking saved with status pending.

Visitor

Pays via chosen gateway

Redirected to Stripe, Mollie, PayPal, or 13 other gateways. Price = base × seats + extras − discount. Free events skip this step entirely.

16 gatewaysNo fees from EMEDynamic pricing
System — seconds

Payment confirmed via webhook

Gateway sends server-to-server confirmation. Double-payment protection built in. Booking marked as paid.

System — automatic

Booking auto-approved

If configured, paid bookings are approved instantly. Otherwise stays pending for manual admin review. The delayed pending-email is silently discarded.

Auto-approveManual reviewWaiting list
Both parties

Confirmation emails sent

To attendee: booking confirmation with event details, payment receipt, and PDF ticket attached.
To event manager: new booking notification with attendee info.

PDF ticketsCustom templatesMail queueSMTP
Cron — days before event

Automated reminders

Configurable reminder emails sent X days before the event. Separate templates for pending and approved bookings. All via the built-in mail queue.

Event day

Check-in & attendance

QR code on ticket, attendance tracking, real-time seat counts. The full cycle — from click to check-in — handled by one plugin.

Ready to manage events
the easy way?

100% free. No premium tier. No per-gateway fees. No feature gating.
Open source, GPLv2 licensed, and built for WordPress and ClassicPress.

Built with love, sustained by donations

EME has been free and open source for over 10 years. No investors, no premium tier, no corporate backing. Every feature you see is funded entirely by the community. Your donation keeps the project alive, maintained, and growing.

EME relies on 3 vanilla JS libraries, all maintained by the same author:
ftable (a full jTable rewrite), fdatepicker, and snapselect.

Scroll to Top