Events Made Easy

Popis

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 .

Snímky obrazovky

Instalace

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.

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.

Nejčastější dotazy

See the FAQ section at the documentation site.

Recenze

21. 2. 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. 12. 2020
The functionality and the friendly support do not need to shy away from the comparison to commercial products. Thank you very much!
28. 11. 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. 10. 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. 9. 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.
Přečtěte si všech 102 recenzí

Autoři

Events Made Easy je otevřený software. Následující lidé přispěli k vývoji tohoto pluginu.

Spolupracovníci

Plugin „Events Made Easy“ byl přeložen do 7 jazyků. Děkujeme všem překladatelům za jejich pomoc.

Přeložte “Events Made Easy” do svého jazyka.

Zajímá vás vývoj?

Prohledejte kód, podívejte se do SVN repozitáře, nebo se přihlaste k odběru protokolu vývoje pomocí RSS.

Přehled změn

2.2.2 (2021/06/10)

  • When searching for an existing person, also search for lastname/firstname in the wrong order (if not empty)
  • Added filter placeholders #_FILTER_CONTACT and #_FILTER_AUTHOR together with the filters eme_filter_searchfilter_contact and eme_filter_searchfilter_author, which both take an array of options as argument (similar to wp_dropdown_users_args, but only 1 array as argument, this allows you to e.g. add the exclude param to the options so you can exclude certain WP users from the list)
    #_FILTER_CONTACT{xx} and #_FILTER_AUTHOR{xx} are the same as #_FILTER_CONTACT and #_FILTER_AUTHOR, the ‚xx‘ just influences the search label shown in the dropdown box
    #_FILTER_CONTACT{xx}{yy} and #_FILTER_AUTHOR{xx}{yy} are again the same but the second params influence an exclude list (comma separated) of wordpress IDs you don’t want to show in the dropdown list. While this exclude list could also be handled via the filters eme_filter_searchfilter_contact and eme_filter_searchfilter_author, it is easier to do this way (and more likely to be used)
  • The body of the mail sent to change your personal info has been changed to a new default setting (reason is that now only 1 mail is sent for all matching emails, instead of 1 mail per matching email). Go in the EME settings to check the new value and change to your liking.
  • The setting „full name“ has been changed to a new default „#_FIRSTNAME #_LASTNAME“. Go in the EME settings to change this after the upgrade if not wanted
  • Fix placeholders #_IS_REGISTERED_PENDING and #_IS_REGISTERED_APPROVED
  • Support #_CONTACTDISPNAME and #_AUTHORDISPNAME if the event contact/auther (a wp user) is not linked to an EME person
  • Allow #_CONTACTLASTNAME (and FIRSTNAME) and also #_AUTHORLASTNAME (and FIRSTNAME) if the event contact/author (a wp user) is not linked to an EME person
  • Support setting different payment methods for Stripe
  • The address1/2 fields for family members were not copied from the main family member for membership signup

2.2.1 (2021/06/05)

  • If the event contact or author (or membership contact, they are all WP accounts) is linked to an EME person, you can now use #_CONTACT (or #_AUTHOR) followed by any person placeholders (e.g. #_CONTACTNAME, #_CONTACTADDRESS1, all people placeholders preceded by „AUTHOR“ or „CONTACT“) to show EME info from that person
  • Added person placeholder #_FULLNAME to return the fullname of a person
  • Added generic placeholder #_WPID to return the wp id, this can then be used in included eme_events shortcodes (if e.g. you want to filter on contact id based on current logged in user)
    Also added the person placeholder #_PERSONWPID, to optionally return the wp id of the person you’re looking at via [eme_people], so you could then show a list of events where that person is contact for (as an example)
  • Fix ++YYY-MM-DD scope so it really searches for days greater than, not starting from the beginning of the mentioned day
  • Fix sending event related mails (bug introduced in 2.1.117)
  • Fix #_FIELD{xx} for files for rsvp/people/member answers (was new in 2.2.0 but not working as expected)
  • Make sure events show on the last day too in the calendar if the end time was smaller than the start time (was a new bug in 2.2.0 due to switching over from separate date/time columns to 1)

2.2.0 (2021/06/02)

  • The date and time format can now be set differently for the EME backend, if the wordpress settings don’t suit you. For frontend settings (replacements in placeholders) this can always be tuned via the existing placeholders and options
  • Since #_MEMBER_QRCODE and #_ATTENDANCE_QRCODE (which name is poorly chosen anyway) can’t conflict, both have been renamed to just #_QRCODE (the old placeholders still work)
  • Event RSVP tab layout improvements
  • Add unauthenticated and authenticated attendance format message options when accessing an event attendance url (typically the qrcode)
  • Add unauthenticated (authenticated was already there) attendance format message options when accessing an member attendance url (typically the qrcode)
  • Added event conditional placeholders #_IS_REGISTERED_PENDING (returns 1 if logged in and registered and user has 1 or more pending registrations for the event) and #_IS_REGISTERED_APPROVED (returns 1 if logged in and registered and user has no pending registrations for the event)
  • Added booking conditional placeholder #_IS_APPROVED (returns 1 if approved, 0 if not)
  • Added scope now–7d (same as +7d, but taking datetime into account)
  • Switch to datetime notation for event start/end, simplifying a lot of code in doing so
  • Change in database tables storing custom field answers (merge done for bookings, people, members, events, locations and memberships)
  • Allow more placeholders to be used in the form for changing personal info in the frontend
  • The shortcodes [eme_gdpr_approve], [eme_request_personal_info] and [eme_change_personal_info] now check the url of the page for the parameter eme_email. If present and a correct email, it will be used to prefill the email field for those forms
  • Document the existing shortcodes [eme_request_personal_info] and [eme_change_personal_info] (documentation existed, but was not visible in the doc menu tree)
  • Memberships now have the notion of family relationships (where only the main family member will be charged and get reminders, the rest are added as related members)
    #_FAMILYCOUNT and #_FAMILYMEMBERS are new membership placeholders that allow to ask how many family members there are and where the data should be rendered in the form.
    The membership defnition has an extra new setting („Family Member Form“) that gets repeated for each family member and rendered in place of #_FAMILYMEMBERS
    You can also use #_FAMILYCOUNT and #_FAMILYMEMBERS as placeholders in the mail for new members then.
  • People now also have the notion of family relationships, but it is only a notion (nothing relates to this, but you can use it to indicate families)
  • Initial code added for event tasks (but not operational yet)
  • Added personal placeholders #_BIRTHDATE and #_BIRTHPLACE (and the correspondig fields when editing a person)
  • Fix multiple file upload for bookings/members
  • Allow #_FIELD{xx} for files too when showing booking answers (showing the file upload html link)

2.1.122 (2021/05/07)

  • Fix cancel date check introduced in 2.1.121

2.1.121 (2021/05/06)

  • When canceling a payment, make sure to only cancel the bookings that are still allowed to be cancelled. The form already only showed those, but upon submit all bookings linked to the payment were still deleted (even if already in the past)
  • Improve the search for events when moving a booking (by default only show future events)
  • Fix person names when subscribing for an event. If a person with matching email already existed, that person would’ve been taken and not the latest one.
    This was due to a problem created in 2.1.119

2.1.120 (2021/05/03)

  • Show a warning if a dynamic data condition is already used in answers when editing an event or membership
  • Simplify the dynamic data condition form a bit when defining events or memberships
  • Add #_DYNAMICDATA automatically if not present in the format but dynamic data conditions are defined
    This was already happening for #_SUBMIT and #_CAPTCHA placeholders too and helps people to make less errors when defining a form format
  • Allow reorder in dynamic data conditions for events and memberships
  • Add people address info also in member overview (hidden by default)

2.1.119 (2021/05/01)

  • Added the option to define a VAT percentage globally or per event or membership.
    Also added placeholders for events, bookings, memberships and members:
    #_EVENTPRICE_NO_VAT (or #_PRICE_NO_VAT), #_EVENTPRICE_VAT_ONLY (or #_PRICE_VAT_ONLY), #_VAT_PCT
    #_TOTALPRICE_NO_VAT, #_TOTALPRICE_VAT_ONLY, #_BOOKINGPRICEPERSEAT_NO_VAT, #_BOOKINGPRICEPERSEAT_VAT_ONLY, #_BOOKINGPRICEPERSEAT_NO_VAT{xx}, #_BOOKINGPRICEPERSEAT_VAT_ONLY{xx}
    #_MEMBERSHIPPRICE_NO_VAT, #_MEMBERSHIPPRICE_VAT_ONLY, #_MEMBERSHIPPRICE_VAT_PCT
    #_MEMBERPRICE_NO_VAT, #_MEMBERPRICE_VAT_ONLY
  • Added placeholders #_DATETIMEDIFF_TILL_START, #_DATETIMEDIFF_TILL_END, #_DATETIMEDIFF_FROM_START, #_DATETIMEDIFF_FROM_END which produce a string like
    „1 year 3 months 2 days 3 hours 1 min 5 seconds“ or (if e.g. the differences for year and month are 0) „2 days 3 hours 1 min 5 seconds“
    Also, if you want own formatting: #_DATETIMEDIFF_TILL_START{xx} and alike can be used, with xx being a php date interval format (see https://www.php.net/manual/en/dateinterval.format.php )
  • Added placeholder #_DATETIMEDIFF_START_END{xx}, to indicate the date/time diffeence between start and end, with xx being a php date interval format (see https://www.php.net/manual/en/dateinterval.format.php )
  • if the booking is paid for after entering a partial payment and the event is not set to automatic approve, send out the paid mail
  • Fix unsub from email groups if the name of a person in EME is not empty
  • Fix #_INVITEURL{xx} in rsvp mails when you want to invite the booker for another event
  • The attendance qrcode for events is now scannable also when not logged in, people then just see if it is paid for or not (like the qrcode for members in fact)

2.1.118 (2021/04/21)

  • Copy the location custom field answers too when copying a location
  • Correct the event sanitizing function so it keeps working for the emefs plugin too

2.1.117 (2021/04/17)

  • Fix new mail actions from bookings and members admin menu
  • Don’t queue mails with empty subject and body, they don’t get sent anyway
  • For invite-only events, the RSVP form now also takes the lastname/firstname from the invite url if present (and then it can’t be modified in the rsvp form)
  • Fix delete of custom formfields
  • Treat a string consisting of only whitespaces as an empty string where appropriate in the admin setting for events and mail templates (and so take the default value if needed)
  • Create a mailing entry for newsletters too, so you can see the statistics of it and cancel it as well
  • Validate event or location externam url before redirect
  • The eme_if conditions incsv and notincv now allow for „,“ and „+“ in their values, so you can search for „string A or string B“ (string A,string B) or „string A and string B“ (string A+string B) in the mentioned tag
  • Copy the event custom field answers too when copying an event

2.1.116 (2021/03/29)

  • New mail actions from bookings and members admin menu (to be able to send bookings/members related mails directly from there using templates)
  • Added Stripe refund
  • Fix a newly introduced db setup issue in 2.1.115 that would empty the title column in templates and type in formfields if you skipped some EME versions and needed a db update

2.1.115 (2021/03/21)

  • Make sure to add recaptcha and submit placeholders correctly for eme_subform and eme_unsubform shortcodes if not present in the format
  • Fix an undefined var
  • When deactivating and then reactivating, make sure the EME schedules are planned again too

2.1.114 (2021/03/12)

  • Correct a wrong split-statement and a typo when adding people to groups after rsvp submit

2.1.113 (2021/03/12)

  • For future versions, #_SUBMIT and #_CAPTCHA (or #_RECAPTCHA) will be added to forms if not present but needed. This makes life a bit easier for beginning users
  • Removed the 3 options that allow to set category separators, only 2 filters remain: eme_categorydescriptions_sep_filter and eme_categories_sep_filter
  • Added filter eme_validate_event_filter with 2 options (event and string with existing validation issues), to allow adding own validation rules for the created event.
    If the output of the filter is not empty, the event will not be inserted in the db and the returned text will be shown as a validation error instead.
  • Allow multiple group selection for rsvp/membership-adding a person to a group

2.1.112 (2021/03/05)

  • Added event placeholder #_IS_REGISTERED_PAID, to check if a logged-in person is already registered and has no unpaid bookings for this event
  • Added wysiwyg for per-event mail templates
  • The option to skip payment options per event was not checked when re-editing an event
  • Add support for Google reCAPTCHA

2.1.111 (2021/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 (2021/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 (2021/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 (2021/01/30)

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

2.1.107 (2021/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 (2021/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 (2021/01/16)

  • Fix expiration reminders for members

2.1.104 (2021/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 (2021/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