Description
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 …
* Multi-site compatible
* Has several GDPR assistance features (request and view 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 .
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 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.
FAQ
See the FAQ section at the documentation site.
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 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.
Changelog
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
2.1.99 (2020/12/16)
- Update Leaflet gesture handling plugin to 1.2.1 and add missing map file
- Make sure the option “Hide RSVP ended events?” works correctly
2.1.98 (2020/12/09)
- Make sure that “next_month” is working for the calendar if the current month is December (I forgot to update the year)
- Added Fondy as payment gateway (thanks to Alexander Mankuta)
2.1.97 (2020/12/06)
- Options added to change the text format when trying to pay for a booking that’s already paid for or on the waiting list
- Option added to allow to define extra attributes allowed in the html style-tag
2.1.96 (2020/11/23)
- Update dompdf to 0.8.6
- Update Mollie API to 2.24.0
- Update Braintree API to 5.3.1
- Update Stripe API to 7.61.0
- Update Mercado Pago API to 2.2.0
- Fix rsvp submit error when upload field is present and not required but no file was uploaded
- Take into account received payments when showing the payment form again
- Show the remaining amount correctly when using #_AMOUNTREMAINING
- Allow payment date (date the last payment was received) for a member to be changed
- Fix adding a new member to a “forever” membership type
2.1.95 (2020/11/09)
- Add category_id and recurrence_id as optional params for eme_countdown shortcode
- Take negative values into account for rsvp start/end conditions
- Allow to send a mail for cancelled bookings when moving an event to trash from the events overview table
- Update to leaflet 1.7.1
2.1.94 (2020/10/27)
- Add last_seen column and #_MEMBERLASTSEEN placeholder, to indicate the time the member was last seen based on the member qr-code
2.1.93 (2020/10/14)
- Fix the duplicate no-events span-id when showing the no-events message
- marking a booking as unpaid should clear the received amount too
- Better take into account empty wp info when linking a person to a wp user
- Fix #_INVITEURL{xx} (the placeholder #_INVITEURL was taking precedence and so the event-id mentioned was being ignored)
- Correct the twitter headers
- Mailing reuse now takes more info into account for generic mailings
2.1.92 (2020/09/20)
- Fix jquery thing when checking for required fields
- Fix the bug where the ical location format setting was not taken into account for the ical output (a fixed format was used)
- Avoid using new reserved variable grouping in mysql 8.0.1
- #_DELETEBOOKINGFORM allowed too (next to #_DELBOOKINGFORM)
2.1.91 (2020/09/02)
- Fix the combo of calendar_day and location_id (corrects the redirection in case of 1 event and no longer ignores the calendar day if location_id is mentioned)
- Allow to configure the attendance message for active members when the qr code is scanned by a person with enough rights
- Added booking placeholders #_AMOUNTRECEIVED and #_AMOUNTREMAINING, so people can let others know how much they already paid and how much is remaining
- Fix editing bookings with dyndata fields in the backend
2.1.90 (2020/08/29)
- Improve search events when sending mail (you can now search all events, not just future ones)
- Update Mollie API to v2.22.1
- Add some more textual explanatioin to the mail templates settings to indicate when a mail is not being sent
- If logged in, you can’t change your name/email for rsvp/memberships if not an admin. Log out if you want to enter other info then.
- Added back the load_plugin_textdomain call, so the backend changes language based on the user language and not on the site language
2.1.89 (2020/08/14)
- More resilient event CSV import
- New shortcode [eme_members], to allow to show specific member info on a site
- Jquery and phpmailer fix (the code mentioned by wordpress is wrong, so this needed a fix)
2.1.88 (2020/08/03)
- Logic fix to be able to allow rsvp until 0 hours before the evend ends
- Allow date to be set when manually adding an attendance
- Correct some EME option explanations
2.1.87 (2020/07/27)
- Sanitize fix for templates (was being too strict now …)
- Captcha fix
2.1.86 (2020/07/27)
- Fix #_MYSELF as an calendar day argument too
- Added a search mail functionaility to allow to search all sent emails, even those not belonging to a specific mailing (if queuing is on)
- Allow to add an attendance record manually
- Added specific access rights to list or manage (add/delete) attendances
- Fix showing values for option textarea fields (typo for showing option values if those were a html textarea)
2.1.85 (2020/07/24)
- For new installations, the mail sending method now defaults to WP Mail and allows html by default too.
- Update select2 to 4.1.0-beta.1
- New option to redirect pages protected with EME memberships to a custom url. The original page will be added to the query string in the form of “redirect=URL”.
- Allow author or contact_person to be “#_MYSELF” if you want to limit events to only those where you’re the author:
[eme_events author=#_MYSELF]
or the contactperson:
[eme_events contact_person=#_MYSELF]
or both of course 🙂
This is also possible for the [eme_calendar] shortcode, and also for the event and calendar widget options. - Fix the access rights when updating a recurrence (it denied access even when it should be allowed to update)
2.1.84 (2020/07/11)
- Localize multiprice too
- Change the attendance field on RSVP forms from dropdown to checkbox, and add a class to it
- Added the conditional placeholder #_IS_RSVP_STARTED
- Reuse input from custom fields of type “people” in the frontend too
- Make sure no newsletter mail is sent if no events are planned
- Add a new menu to consult attendance reports on memberships or past events
- Prepare for new 5.5 release of wordpress (5.5 has a newer phpmailer version included in a new location)
- If booking approval is needed and auto-approve after payment is on and the price to pay is 0 (due to discount reduction for example), then mark the booking as approved and not pending
- Attendance records are now stored (for events or memberships that want it) if an EME admin scans the RSVP attendance QRCODE or the member QRCODE
2.1.83 (2020/06/26)
- Allow empty discounts being entered if no discount is required
- Obey the ignore massmail setting for mailings to all people
- Fix the #_RSVP_STATUS placeholder
2.1.82 (2020/06/23)
- Fix the switch for Instamojo from sandbox to live
- Fix hiding existing comments for memberships
- Fix the newsletter functionality
2.1.81 (2020/06/13)
- Hide comments/pings/trackbacks and disable comment form on pages that are members-only
- Also hide the featured image for member protected pages
- Renamed some global constants to avoid conflicts. If you use these in your functions, please verify and correct:
STATUS_TRASH => EME_EVENT_STATUS_TRASH
STATUS_PUBLIC => EME_EVENT_STATUS_PUBLIC
STATUS_PRIVATE => EME_EVENT_STATUS_PRIVATE
STATUS_DRAFT => EME_EVENT_STATUS_DRAFT
RSVP_STATUS_ACTIVE => EME_RSVP_STATUS_ACTIVE
RSVP_STATUS_TRASH => EME_RSVP_STATUS_TRASH
PEOPLE_STATUS_ACTIVE => EME_PEOPLE_STATUS_ACTIVE
PEOPLE_STATUS_TRASH => EME_PEOPLE_STATUS_TRASH
MEMBER_STATUS_PENDING => EME_MEMBER_STATUS_PENDING
MEMBER_STATUS_ACTIVE => EME_MEMBER_STATUS_ACTIVE
MEMBER_STATUS_GRACE => EME_MEMBER_STATUS_GRACE
MEMBER_STATUS_EXPIRED => EME_MEMBER_STATUS_EXPIRED - Allow online payments to succeed for membership extensions
- Added #_SUBMIT to the list of filter form placeholders, so you can put the submit button (with custom text) wherever you want it
- #_FILTER_CATS, #_FILTER_LOCS, #_FILTER_TOWNS and #_FILTER_COUNTRIES (and their #_EVENTFUL equivalents) now allow an argument to indicate the title for that search field
- Added a setting to disable refunds globally
2.1.80 (2020/06/05)
- #_ATTENDANCE_QRCODE and #_MEMBER_QRCODE now support an argument to define the size. The options: any number from 1 to 8 or the predefined sizes small (=1), medium (=2, the default), large (=4), huge (=8)
Examples: #_ATTENDANCE_QRCODE{huge} or #_MEMBER_QRCODE{4}
Since the default is 2, this can change the size of the generated image (it used to be 3 for #_ATTENDANCE_QRCODE). If your layout depends on this, please verify. - Revert an attempt to optimize the filter the_content
- Added placeholders #_MEMBERNEXTENDDATE (identical to #_MEMBERENDDATE, but will give the end date of the next period if the person would pay again)
- Member placeholder #_PAYMENT_URL now allows to pay for active members too, this also works for #_MEMBERSHIP_PAYMENT_URL
2.1.79 (2020/06/02)
- Fix to allow non-ASCII characters in the global e-mail template settings (thanks to Sebastian Lisken)
- The placeholders #_USER_HAS_CAP, #_USER_HAS_ROLE, #_USER_IN_GROUP, #_USER_IS_MEMBER_OF, #_IS_USER_MEMBER_PENDING and #_IS_USER_MEMBER_EXPIRED now also allow multiple arguments (separated by “,”)
- Revert an attempt to optimize the filter the_title
2.1.78 (2020/05/30)
- In the frontend, allow the edit of firstname, lastname or email in the rsvp/member form if the respective value is empty, even for logged in users. Also allow edit of all other info in the frontend (so people can correct their address, … on a subsequent signup)
- Generate a payment id for imported members too
- The placeholders #_ADDBOOKINGFORM_IF_USER_HAS_CAP, #_ADDBOOKINGFORM_IF_USER_HAS_ROLE, #_ADDBOOKINGFORM_IF_USER_IN_GROUP and #_ADDBOOKINGFORM_IF_USER_IS_MEMBER_OF now allow multiple arguments (separated by “,”) so you can e.g. show the form to only users that are in one of the mentioned EME groups, with certain rols, or if member of one of the mentioned memberships
- Added an option so you can set the text when WP membership (login) is required for a membership
- Added a new bulk action in the members admin interface so you can resend the mail for paid memberships
- Improve the logic to send paid mails (if total price=0 due to a discount, it will be sent too)
- Added an option to disable browser caching of pages (and I recommend activating it …)
- Added attendance count to CSV export report for bookings
- Added eme_if condition ‘notincsv’, so for ex. you can compare if a certain value is not in a CSV list (like groups/categories) and based on that show/hide stuff. Also added this as a test condition for dynamic data.
- Fix the #_USER_HAS_ROLE placeholder
2.1.77 (2020/05/20)
- Improve custom field purpose behaviour (you can use ‘generic’ again, to indicate a field can be used as a member or rsvp field and the usage of these 3 purposes has become a bit more blurred, so in fact ‘generic’ is no longer deprecated).
- Use all available basic person info in RSVP/member forms when user is logged in
- Officially add the eme_mymemberships shortcode (it already existed but just returned a comma-separated list of membership names, now it has a template/header/footer that can contain member and membership placeholders
- Added placeholder #_RSVPSTART and corrected #_RSVPEND, these give in localized date/time the start or end date/time when rsvp can be done
2.1.76 (2020/05/02)
- Improve paypal error output
- PDF output now has a configurable font setting, which defaults to the unicode font “Dejavu Sans” (setting in section “Other”)
- Add organizer info to google ld+json html header
2.1.75 (2020/04/24)
- Actually release the new version …
2.1.74 (2020/04/23)
- Make google metadata datetime headers show up in correct format for online-only events
For that, the event placeholders #_STARTDATETIME_8601 and #_ENDDATETIME_8601 have been introduced - Refund made possible for paypal payments (not for existing stored payments though, since the stored paypal id was not the correct one to be able to refund)
- Expand eme_for to allow also lists with a custom separator, and also allow #_LOOPVALUE (plus #URL_LOOPVALUE) and #_LOOPCOUNTER in the repeating content (see doc)
- Fix copy/paste error that causes auto-approve after payment to not approve the booking
2.1.73 (2020/04/15)
- Fix the usage of discount groups
- Make sure sanitized event properties are stored in the event
- Add Mercado Pago the the list of payment gateways
- Fix some SQL for retrieving bookings for registered users
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
Older changes can be found in changelog.txt