Events Manager – Calendar, Bookings, Tickets, and more! Plugin
Fully featured events calendar, booking registration (RSVP), recurring events, locations management, Google Maps
Events Manager is a full-featured event calendar, bookings and registration management plugin for WordPress based on the principles of flexibility, reliability and powerful features!
** Limited-Time Offer – Up to 30% our current price plans! Get Pro Now **
Main Features
- Beautiful calendars, search pages, lists, grids and booking forms to enhance your site events.
- Easy event registration (single day with start/end times)
- Recurring and long (multi-day) event registration
- Bookings Management (including approval/rejections, export CVS, and more!)
- Multiple Tickets
- Fully-featured graph and statistics including bar/line/pie with comparison and stacking
- MultiSite Event Support
- Cross-Network Event Sharing – show your events and booking fromss on other subsites or main site
- Network-wide Global Booking Management
- BuddyPress and BuddyBoss Support
- Create modular (independent) event subsites or inter-networked events
- Multiple Location Types
- BuddyPress & BuddyBoss Support
- Submit Events
- Group Events
- Personal Events
- Activity Stream
- more on the way
- Guest/Member Event submissions
- Assign event locations and view events by location
- Event categories
- Easily create custom event attributes (e.g. dress code)
- Google Maps (see our API usage recommendations)
- Advanced permissions – restrict user management of events and locations.
- Widgets for Events, Locations and Calendars
- Fine grained control of how every aspect of your events are shown on your site, easily modify templates from the settings pages and template files
- iCal Feed (single and all events)
- Add to Google Calendar buttons
- RSS Feeds
- Compatible with SEO plugins
- Timezone Support – create events in different timezones
- Plenty of template tags and shortcodes for use in your posts and pages
- Actively maintained and supported
- Lots of documentation and tutorials
- And much more!
Data Privacy and GDPR Compliance
We provide the tools to help you be GDPR compliant, including:
- export/erasure of data via the WordPress Privacy Tools, including booking, event and location data
- consent checkboxes on our booking, event and location forms on the frontend
- settings to control what can be exported/erased as well as where/when to place consent requests
- sample text for your site privacy policy describing what Events Manager does with personal data
Premium Features
We have a premium Pro add-on for Events Manager which not only demonstrates the flexibility of Events Manager, but also adds some important features including but not limited to:
- WooCommerce integration (sold separately)
- PayPal, Stripe, Authorize.net and Offline Payments
- Custom booking forms
- Individual Attendee custom forms
- Printable Invoices and Tickets
- Send PDF tickets/invoices by email automatically
- Check In/Out
- QR Scanning
- Manage bookings on your phone
- Check In/Out users
- Waitlists
- Automation (NEW!) – ultimate flexibility in automation!
- Triggers:
- X time before/after events start
- When a booking status changes
- When a booking was booked x time ago
- Actions
- Send Webhook (Zapier, MS Automation and many other services)
- Send Email
- Coupon Codes
- Custom booking email per event and gateway
- Faster support via private Pro forums
For more information or to go pro, visit our plugin website.
Additional Plugin Integrations
Whilst there’s many third party integrations with our own plugin, here’s some we’ve integrated ourselves!
- Included in Events Manager (automatic integration)
- Additional Add-Ons
Installation
Events Manager works like any standard WordPress plugin, and requires little configuration to start managing events. If you get stuck, visit the our documentation and support forums.
Whenever installing or upgrading any plugin, or even WordPress itself, it is always recommended you back up your database first!
Installing
- If installing, go to Plugins > Add New in the admin area, and search for events manager.
- Click install, once installed, activate and you’re done!
Once installed, you can start adding events straight away, although you may want to visit the plugin site documentation and learn how to unleash the full power of Events Manager.
Upgrading
- When upgrading, visit the plugins page in your admin area, scroll down to events manager and click upgrade.
- WordPress will help you upgrade automatically.
Upgrading from version 4 to 5
Please read these instructions.
Screenshots
Innovative responsive calendar with rings to show eventful dates, colored by category, clickable to expand more event information.
Completely customizable event widgets/blocks and shortcodes.
Beautiful event pages which can be completely customized via our settings page.
Share your events to popular calendar clients.
Display information about your location in widgets, blocks and shortcodes too.
Full-featured statistics and insights into your ticket sales via multiple graph types, including comparison and stacking.
Easily skip to the future with our new calendar navigation and search filters.
Easy-to-use search filters, whether on the phone or desktop.
Search for events and locations within a search radius using Google geo searches.
Intuitive search UI for your visitors.
QUickly switch between search views.
View your events on a Google Map, filter with searches.
Multiple calendar styles, fully responsive according to the width of the calendar.
Responsivve way for mini-calendar to intuitively show dates with many events within a quick glance.
Responsive lists that adapt to the size of its containing content.
Clean forms for submitting and managing events, as well as booking events for users.
Dashboard graph widget for quick review of your event bookings with tons of meaningful data views.
Grid view for displaying your upcoming events at a glance
FAQ
See our FAQ page for helps with Events Manager – Calendar, Bookings, Tickets, and more!
Changelog
6.4.10.2
- added default calendar size option to settings page
- fixed bug in calendar widget preventing saving/loading on widget area
- added calendar_size option to calendar widget
- fixed PHP warning when calendar_size is undefined
- added shortcode format options due to security implications, see our docs for more info.
6.4.10
- ‘fixed’ false positive Avast vulnerability alert on browsers, caused by the minified EM js file
- added option to include minified or non-minified JS/CSS files in Advanced Optimization settings, JS turned off by default due to above errors
- fixed taxonomy images size display issues in admin area if too large
- fixed taxonomy colors not seeming being saved due to caching issues (now clears color cache upon save)
- added calendar_month_nav and calendar_nav args for calendars
- added future events only option for calendar widget
6.4.9
- changed escaping of HTML so that admins with unflitered_html cap can submit anything to settings or alternatively allows if EM_UNFILTERED_HTML is defined true
- fixed bookings graph views not comparing previous periods in some filter combinations, showing only the first period
- Fixed vertical scrolling issues with multidropdown mode (headings) on advanced search modals.
- Fixed hidden advanced search modal blocking trigger buttons from re-displaying advanced search on mobile view.
- Fixed #_EVENTTIMES_LOCAL and #_EVENTDATES_LOCAL not working when supplied JS formatting unless placeholder supplied beforehand without formatting.
- Fixed #_BOOKINGBUTTON issues with cancellation clicks.
- Fixed PHP error with errant redirected permalink with sites using legacy permalink structures.
- Added missing_creds error to OAuth API EM_Exception.
- Removed id query param from calendar nav links to improve SEO and reduce server load.
- Added calendar_nav_nofollow parameter for shortcode, allowing nav links to be nofollow.
6.4.8
- fixed XSS vulnerability in shortcodes we recommend updating if you allow guest event submissions and shortcdoes (props to WordFence Security for responsible disclosure)
- fixed permalink clashes for location/taxonomy ical links getting overriden by general events if their permalinks path are within the events subdirectory
- improved location search parameters to accept comma-separated values for filtering by multiple towns,countries,states,postcodes and regions, including exclusions
- added format value to events_calendar shortcode, [event_tags] and [event_tag] shortcodes
- added EM_UNFILTERED_HTML constant, which does not apply wp_kses_post to settings if user has ‘unfiltered_html’ capability
- fixed calendar navigation issues when supplying a format argument,
- fixed calendar navigation not persisting when using some new options such as calendar_preview_mode_date,
- fixed calendar property calendar_dates_height ‘auto’ value being ignored,
- fixed calendar show_search being ignored and not showing search bar above calendars in shortcode/php calls,
- fixed display issues for selectize in wp admin area
- fixed #_EVENTTAGSLINE showing ‘no categories’ message if empty,
- added ‘missing’ #_EVENTOFFICE365LINK placeholder
- tweaked category/tag shortcode to use em_get_ functions instead of directly invoking class
- fixed some situations showing incorrect URLS on login redirect_to rather than current page reload
- added telephone field type to booking form phone input field (should default to text if not enabled)
- fixed extra line breaks in bookings table actions dropdown
- fixed typo translation domain in “my bookings” page button
- added mail filters em_mailer_send_parameters (for all email methods) and em_mailer_wp_mail (for wp_mail)
- fixed aesthetic display issues in admin for selectize by loading all partials into .wp-admin selector context
6.4.7.3
- fixed pagination issues in non-event lists where PAGE is double url-encoded
- fixed array to string conversion PHP warning in calendars
- changed default event templates to be in a page format rather than post
6.4.7.2
- fixed buddypress menu issue introduced in 6.4.7 by re-adding commented-out line
- fixed advanced search options not showing up in some inline setting combinations
- fixed ‘hidden’ feature in 6.4.7 for saved searches via cookies defaulting to enabled (can now be re-enabled in wp_options -> dbem_search_form_cookies)
- updated 6.4.7 changelog with some missing changes
- added selectize options to em_options_select() function
- alpha feature – added phone field options to settings page if EM_PHONE_INTL_ENABLED is enabled (validation and more options on the way)
- moved welcome notice option to EM_Admin_Notices
- removed timthumb admin notice (outdated)
- fixed minor security vulnerability allowing multisite blog admins to dismiss Events Manager network admin welcome notice (reported by PatchStack)
- fixed medium security vulnerability allowing unauthorized users to modify booking statuses (reported by WordFence Security)
- fixed medium security vulnerability allowing stored XSS to be submitted when adding an event (reported by WordFence Security Team)
6.4.7.1
- Fixed JS error preventing customizing columns in bookings admin table
6.4.7
- Fixed PHP warning on my-bookings page.
- Fixed ticket selection dropdown not showing max spaces if
EM_Bookings::$disable_restrictions
is enabled (such as for manual bookings). - Fixed export and view setting overlays not working for booking admins table front-end after filtering once or more.
- Fixed issues with category/tag selection in Firefox.
- Added responsive options to the search form, allowing search form fields to stack on smaller screen sizes and also choose which main search options are hidden.
- Fixed localized times via #_EVENTDATES_LOCAL not working in AJAX calls such as searches or pagination
- Fixed cache PHP error in taxonomy objects if accessing a blank taxonomy
- Fixed 2 vulnerabilities, reported by PatchStack and WordFence
- added alternative dropdown view/flow for multiple selections on search form options
- updated selectize.js to 0.15.2
- fixed JS error preventing admin booking column selection in 6.4.7
- fixed issues when clearing search criteria on search form
- added support for counting search criteria using custom fields in search form
- added multiple actions for search form templates
- fixed advanced trigger not showing in modal mode if hidden inline mode settings are set to hide trigger
- added escaping for cookie-set EM notices for security hardening
- added url escaping (security precaution) for pagination links
- made improvements to ical permalinks to account for more complex permalink structures (such as date-based),
- added em_ical_output_content_summary and em_ical_output_content_location filters
6.4.6.4
- Fixed issues with multiple bookings and anonymous bookings that could rewrite the user name of the account making the booking with the latest user information.
- Fixed setting
is_available
to EM_Ticket
not having any effect due to protected visibility, which can cause unpredictable behavior. - Fixed form
.em-ajax-form
not outputting the correct notice box on success. - Added JS for
em-cancel
button to include custom data into AJAX via the data-
attribute. - Added
em_my_bookings_booking_action_links
filter allowing for array insertion of action links for my booking page bookings.
6.4.6.3
- Fixed telephone field auto-enabling and ignoring EM_PHONE_INTL_ENABLED constant introduced in 6.4.6
6.4.6.2
- Fixed booking summary showing for free events despite setting set to no.
- Fixed edge cases where bookings do not get deleted properly due to unloaded ticket data.
- Fixed various PHP warnings.
6.4.6.1
- Fixed array meta key retrieval and saving issues introduced in version 6.4.6.
- Fixed first-time installation PHP errors and errant update notices.
- Added
em_booking_form_js_fields_change_match
filter allowing for programmatic listening of custom field changes to update the booking form summary section. - Fixed front-end display issues of bookings containing two ticket types.
- Fixed search form button not enabling after changing search params when advanced search is disabled.
6.4.6
- fixed fatal error caused by use of Pro function in settings page when Pro isn’t activated, bug introduced in EM 6.4.5
- fixed XSS vulnerability, disclosure to be followed
- fixed minor security vulnerability allowing anauthorized logged-in users to dismiss EM admin notices
- fixed OAuth errors (such as with PayPa) due to implementations not requring a scope credential
- fixed PHP Warnings in event editor frontend,
- fixed EM Notices appearing twice on booking forms in backend for manual bookings in Pro,
- fixed datetime offset issue when migrating old EM versions without timezones
- fixed file loading issues in some server edge case environments by providing absolute include paths in events-manager.php
- fixed multiple PHP Deprecated dynamic variables warning for PHP 8.2 by adding a $fields_shortcuts static map for short variable names, as well as storing unknown ‘dynamic’ variables into a dynamic_variables protected property array via __set() and __get() in EM_Object
- changed preference for $shortnames map of field shortcuts for $fields_shortcuts although still supported in EM_Object but preferable to use one static storage for performance improvements
- fixed issues with storage of booking and attendee/spaces meta data
- developers should be aware that storage of array meta data going forwards takes the format of _key|subkey for associative or _key| for sequential arrays, if you stored array keys with an underscore, or subkeys with underscores, please review EM_Object::process_meta() and EM_Booking::process_meta() and the function comments for a better understanding of what to do, as a future update may involve an SQL migration script to migrate old meta fields into the new format
- added sorting option on event search forms – enabled by default on first install, disabled for existing sites updating,
- added international phone number picker – BETA – requires activation via define(‘EM_PHONE_INTL_ENABLED’, true); in wp-config
- fixed PHP 8.2 warnings in tickets
- fixed ordering issues in attendee booking editor displays
- added ical output filters em_ical_output_content_description and em_ical_event_output_content
6.4.5
- added RSVP functionality (re-confirming a booking)
- add uncancel option so users can undo a cancellation if spaces still available
- switched my bookings page action links to a button dropdown rather than loose links
- fixed class static binding issues with EM_OAuth libraries causing problems in Zoom-enabled bookings
- fixed tippy dropdown button width issues
6.4.4
- fixed session wakeup issues for the EM_Booking object due to recent atomic tickets update,
- fixed EM_Tickets_Bookings and EM_Ticket_Booking possibly returning erroneous booking property
- added JS booking form helper functions em_booking_form_unhide_success, em_booking_form_enable_button, em_booking_form_disable_button,
- added backwards compatibility for booking ajax responses including the ‘result’ property rather than the new ‘success’ property
- fixed calendar navigation issues showing default calendar size according to responsive sizing even when using forced calendar_size=”large”
- fixed advanced filters button in calendar not working when search forms disabled in settings page
- moved advanced search trigger button html/php into separate template
- fixed view of calendar changing to default events list format if default search forms disabled in settings
- fixed error messages when updating Events Manager
- moved default view setting to events formatting section, outside of search form options
- fixed booking forms not always auto-hiding after submission is complete,
- fixed scrolling overflow issues for skeleton loaders on booking form
For changelog of 6.4.3 and lower, see the earlier reamde.txt.