Title: Events Manager &#8211; Calendar, Bookings, Tickets, Appointments and more!
Author: Marcus (aka @msykes)
Published: <strong>august 6, 2008</strong>
Last modified: september 24, 2026

---

Search plugins

![](https://ps.w.org/events-manager/assets/banner-772x250.png?rev=3550347)

![](https://ps.w.org/events-manager/assets/icon-256x256.gif?rev=3711454)

# Events Manager – Calendar, Bookings, Tickets, Appointments and more!

 By [Marcus (aka @msykes)](https://profiles.wordpress.org/netweblogic/)

[Download](https://downloads.wordpress.org/plugin/events-manager.7.4.5.zip)

 * [Details](https://fao.wordpress.org/plugins/events-manager/#description)
 * [Reviews](https://fao.wordpress.org/plugins/events-manager/#reviews)
 *  [Installation](https://fao.wordpress.org/plugins/events-manager/#installation)
 * [Development](https://fao.wordpress.org/plugins/events-manager/#developers)

 [Support](https://wordpress.org/support/plugin/events-manager/)

## Description

Events Manager is a full-featured event calendar and booking system for WordPress:
bookings, reservations, appointments, scheduling, event registration and ticketing,
ideal for everything from simple meetups to full-scale event planning. Schedule 
one-off dates, recurring series or timeslots, take online bookings and sell tickets,
all from one plugin built with flexibility, reliability and powerful features in
mind.

 * [Demo](https://eventsmanager.site)
 * [Documentation](http://wp-events-plugin.com/documentation/)
 * [Tutorials](http://wp-events-plugin.com/tutorials/)

#### Main Features

 * **NEW** Integrate easily with your favourite AI via MCP, unlock the power of 
   AI-powered Events!
 * **NEW** API Rest Integration
 * **NEW** EU Compliance Tools for [“Right of withdrawal” (EU ‘Widerrufsbutton’)](https://wp-events-plugin.com/documentation/compliance/right-of-withdrawal/)
 * Beautiful calendars, search pages, lists, grids and booking forms to enhance 
   your site events.
 * Availability and reservation calendar: real-time availability per event, ticket
   and timeslot, shown on booking forms and exposed via the REST API
 * Easy event registration and booking forms (single day with start/end times), 
   with custom form fields in Pro
 * Recurring and long (multi-day) event registration
    - Build complex recurrence patterns with exclusion/blackout dates
 * **NEW** Multiple time slots (timeslots) within the day for events with advanced
   creation options, so any event can work as a simple appointment scheduler
    - Overlapping timeslots
    - Buffer between timeslots
    - Appointment booking with buffers between slots and capacity per slot
    - Class and session timetables: a timetable built from timeslots, recurring 
      events and calendar or list views
 * Bookings and attendee management: approvals and rejections, attendee lists, CSV
   export and confirmation emails
 * A complete booking and reservation system for events and timeslots, with online
   booking for members or guests and payments via PayPal, Stripe, Square and more(
   Pro)
 * Sell tickets online with multiple ticket types, pricing and availability limits
   per ticket (payments via Pro)
 * Event ticketing with PDF tickets by email, check in/out and QR scanning on your
   phone (Pro)
 * Free RSVP or paid registration for any event, with attendee limits, approvals
   and waiting lists (Pro)
 * Capacity limits per event, ticket and timeslot, with sold-out handling and waitlists(
   Pro)
 * 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 forms 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 custom event types (Archetypes), such as Workshops, Seminars, Events,
   Webinars, Appointments etc.
    - Customize your labels, slugs and CPT names
    - Enable or disable specific features for specific event archetypes.
 * Multiple Location Types
    - Physical Locations
    - Online and virtual events (URLs)
    - [Zoom Webinars/Meetings Integration](https://wordpress.org/plugins/events-manager-zoom/)
 * BuddyPress & BuddyBoss Support
    - Submit Events
    - Group Events
    - Personal Events
    - Activity Stream
    - more on the way
 * Guest/Member Event submissions
 * Assign event venues and locations and view events by location
 * Event categories
 * Easily create custom event attributes (e.g. dress code)
 * Google Maps [(see our API usage recommendations)](https://wp-events-plugin.com/documentation/google-maps/api-usage/?utm_source=repo&utm_medium=readme&utm_campaign=gmaps-api)
 * 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 calendar buttons for Google Calendar, Outlook, Office 365, Apple Calendar
   and iCal
 * 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
 * Gutenberg block editor support, with native blocks for the Events Calendar, Events
   List, and Locations List, usable in posts, pages, the site editor and the widget
   editor
 * Actively maintained and supported
 * Lots of documentation and tutorials
 * **NEW** Gutenberg Supported
 * And much more!

#### Use Cases

Events Manager runs on one model: an event with dates or timeslots, a capacity and
optional tickets. That covers a lot more than events, and these are all in use today:

 * Conferences and festivals: multi-day events with multiple ticket types, sessions,
   attendee forms and QR check-in (Pro)
 * Seminars, workshops and webinars with online registration and event ticketing
 * Concerts and gigs: sell concert tickets with multiple ticket types, PDF tickets
   and QR check-in (Pro), general admission only
 * Theatre tickets (theater) and museum tickets: repeat performances, timed entry
   for galleries and exhibitions, multiple ticket types and PDF tickets, general
   admission without seat maps
 * Community events calendars where members and guests submit their own events for
   approval, with BuddyPress and BuddyBoss support
 * Church events, nonprofit events and charity fundraisers (non-profit): recurring
   services, galas and volunteer days with free RSVPs or paid tickets across multiple
   locations
 * School, college and university events: term calendars, bookable parent evening
   timeslots and paid trips with capacity limits
 * Sports events for clubs: fixtures, tournaments and race entries with registration,
   capacity limits and payment
 * Fitness classes, gym bookings, yoga, pilates and dance classes: weekly timetables
   with limited spaces per session
 * Courses, training sessions, lessons and coaching: dated or recurring sessions
   with attendee limits and payments
 * Consultation booking for advisers, consultants and practitioners on a single 
   bookable calendar, with a custom form and optional payment
 * Appointment scheduling and online scheduling for solo practitioners, tutors and
   studios
 * Tour booking for guided walks, city tours and timed visits: scheduled departures
   with a head count and a price per place
 * Escape rooms and activity venues: fixed-length sessions with buffers between 
   them and a group size cap
 * Restaurant reservations for set sittings, tasting menus and supper clubs: each
   service is a timeslot with a cover limit, booked by head count rather than per
   table
 * Online reservations for sittings, sessions and classes, each with its own time,
   capacity and optional payment
 * Let visitors book online without creating an account, for any event, ticket or
   timeslot, and pay on the spot (Pro)

#### AI Integration

AI is here, and we’re on board! Check out what’s possible with our new and evolving
AI integration possibilities:

#### Data Privacy and GDPR Compliance

We provide the tools to [help you be GDPR compliant](http://wp-events-plugin.com/documentation/data-privacy-gdpr-compliance/),
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](http://eventsmanagerpro.com/gopro/)
which not only demonstrates the flexibility of Events Manager, but also adds some
important features including but not limited to:

 * WooCommerce integration ([sold separately](https://pxlink.cc/wc))
 * PayPal, Stripe, Authorize.net, Square, Xero and Offline Payments
 * Custom booking forms
 * Individual Attendee custom forms
 * Upload fields for bookings, attendees and users
 * Printable Invoices and Tickets
 * Send PDF tickets/invoices by email automatically
 * QR code check-in and ticket scanner: scan tickets on your phone and check attendees
   in or out
 * iOS phone app for organisers: manage bookings and check attendees in on the go(
   Android app coming soon)
 * Waitlist / waiting list for sold-out events and tickets
 * Automation – 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
    - Send WhatsApp, SMS, Telegram notifications
    - Automated event reminders, booking reminders and appointment reminders by 
      email, or by SMS, WhatsApp and Telegram with the Connect add-on
 * SMS reminders, WhatsApp and Telegram reminders, notifications and interactive
   flows via the Events Manager Connect add-on
 * Coupon and discount 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](http://wp-events-plugin.com/features/).

#### 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)
    - [BuddyPress](https://wordpress.org/plugins/buddypress/)
    - [WP FullCalendar](https://wordpress.org/plugins/wp-fullcalendar/)
    - [Thrive Automator](https://wordpress.org/plugins/thrive-automator/)
 * Additional Add-Ons
    - [Zoom](https://wordpress.org/plugins/events-manager-zoom/)
    - [WPML Multilingual Sites](https://wordpress.org/plugins/events-manager-wpml/)

## Screenshots

[⌊Innovative responsive calendar with rings to show eventful dates, colored by category,
clickable to expand more event information.⌉⌊Innovative responsive calendar with
rings to show eventful dates, colored by category, clickable to expand more event
information.⌉[

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.⌉⌊Completely customizable
event widgets/blocks and shortcodes.⌉[

Completely customizable event widgets/blocks and shortcodes.

[⌊Beautiful event pages which can be completely customized via our settings page.⌉⌊
Beautiful event pages which can be completely customized via our settings page.⌉[

Beautiful event pages which can be completely customized via our settings page.

[⌊Share your events to popular calendar clients.⌉⌊Share your events to popular calendar
clients.⌉[

Share your events to popular calendar clients.

[⌊Display information about your location in widgets, blocks and shortcodes too.⌉⌊
Display information about your location in widgets, blocks and shortcodes too.⌉[

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.⌉⌊Full-featured statistics and insights
into your ticket sales via multiple graph types, including comparison and stacking
.⌉[

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.⌉⌊
Easily skip to the future with our new calendar navigation and search filters.⌉[

Easily skip to the future with our new calendar navigation and search filters.

[⌊Easy-to-use search filters, whether on the phone or desktop.⌉⌊Easy-to-use search
filters, whether on the phone or desktop.⌉[

Easy-to-use search filters, whether on the phone or desktop.

[⌊Search for events and locations within a search radius using Google geo searches.⌉⌊
Search for events and locations within a search radius using Google geo searches
.⌉[

Search for events and locations within a search radius using Google geo searches.

[⌊Intuitive search UI for your visitors.⌉⌊Intuitive search UI for your visitors.⌉[

Intuitive search UI for your visitors.

[⌊QUickly switch between search views.⌉⌊QUickly switch between search views.⌉[

QUickly switch between search views.

[⌊View your events on a Google Map, filter with searches.⌉⌊View your events on a
Google Map, filter with searches.⌉[

View your events on a Google Map, filter with searches.

[⌊Multiple calendar styles, fully responsive according to the width of the calendar.⌉⌊
Multiple calendar styles, fully responsive according to the width of the calendar
.⌉[

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.⌉⌊Responsivve way for mini-calendar to intuitively show dates with
many events within a quick glance.⌉[

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.⌉⌊Responsive
lists that adapt to the size of its containing content.⌉[

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.⌉⌊Clean forms for submitting and managing events, as well as booking events
for users.⌉[

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.⌉⌊Dashboard graph widget for quick review of your event bookings with
tons of meaningful data views.⌉[

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⌉⌊Grid view for displaying
your upcoming events at a glance⌉[

Grid view for displaying your upcoming events at a glance

## Blocks

This plugin provides 4 blocks.

 *   Events Calendar Display events in a monthly calendar grid.
 *   Event Locations Display a list of event locations.
 *   Events List Display a list of events with filtering and ordering.
 *   Event Details Inline date, time, recurrence, and booking controls in a tabbed
   panel. Pinned below the event title; not rendered on the front end.

## 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

 1. If installing, go to Plugins > Add New in the admin area, and search for events
    manager.
 2. 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

 1. When upgrading, visit the plugins page in your admin area, scroll down to events
    manager and click upgrade.
 2. WordPress will help you upgrade automatically.

#### Upgrading from version 4 to 5

Please [read these instructions](http://wp-events-plugin.com/updating-to-v5/).

## FAQ

### What can I use Events Manager for?

Events Manager is built to handle a wide range of use cases, including:

 * Managing events, meetups, workshops and webinars
 * Scheduling appointments and recurring events
 * Planning and promoting conferences or festivals
 * Handling event registration, RSVP, ticketing and ticket sales
 * Accepting bookings with optional payments
 * Managing venues and multiple event locations
 * Creating a public event calendar for your website visitors

See our [FAQ](http://wp-events-plugin.com/documentation/faq/) page for help with
Events Manager – Calendar, Bookings, Tickets, Appointments and more!

## Reviews

![](https://secure.gravatar.com/avatar/11bae2152c76987ada707dfb8064d0a3f30a1f7efef0dde3e5e0fe174d465734?
s=60&d=retro&r=g)

### 󠀁[Great plugin…](https://wordpress.org/support/topic/great-plugin-41767/)󠁿

 [jimmy2031](https://profiles.wordpress.org/jimmy2031/) september 11, 2026

works nicely on my site.

![](https://secure.gravatar.com/avatar/144c2ce0cc0d5ba5e23a92cd20a268e53825762985c0152869ad53cc2415faf3?
s=60&d=retro&r=g)

### 󠀁[とても良いプラグインです](https://wordpress.org/support/topic/%e3%81%a8%e3%81%a6%e3%82%82%e8%89%af%e3%81%84%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%a7%e3%81%99/)󠁿

 [mattansapporo](https://profiles.wordpress.org/mattansapporo/) august 31, 2026

以前、all in one event calendarを使っていましたが、使えなくなってしまったのでこちら
に乗り換えました。とても使いやすく重宝していますが、配色の変更が難しいです。 あと
all in one event calendarではスマートフォンのCalendarと自動的にリンクできましたが
こちらのプラグインは一つずつやらなければならず、面倒くさくて使っていません。all 
in one event calendarと同じような機能を持たせてくれると、更に便利に使えると思うので
是非改善して頂けると嬉しいです。これからも頑張って下さい。応援しています。

![](https://secure.gravatar.com/avatar/f809f603c1bf35f74f12826fe13c21dd872f45a40a0f3d8f939f085569d06f4f?
s=60&d=retro&r=g)

### 󠀁[Don’t Upgrade to 7.3.1](https://wordpress.org/support/topic/dont-upgrade-to-7-3-1/)󠁿

 [a2withkids](https://profiles.wordpress.org/a2withkids/) juli 22, 2026 2 replies

Update: After 7 weeks, and days of effort on my part, I was able to track down the
issue. You need to have pre-publishing checks on to publish an event with the new
version. Seems like a use case that should have been tested before release, or if
known included in upgrade notes. My notes about the blocks not having the full capability
of shortcodes are still relevant. And one other item – the online documentation 
is several versions behind. It predates repeating/recurring event shift.I have been
using Events Manager since late 2015 and was so excited to hear it now offers blocks
in place of shortcodes & is now offering Gutenberg to edit events. Thankfully I 
decided to test it out on my staging site first. I cannot publish events when I 
upgrade. It just saves them as drafts. I've tried turning off all other plugins &
reverting to 2025 theme, and same behavior. Several years ago, I'd already figured
out how to use REST settings to use Gutenberg in events, so maybe a conflict there,
but I tried getting rid of that and it still didn't work.But, that aside I also 
tested out the new Events List block and it's got some limitations that make it 
a good first step, but I probably will have to stick with shortcodes.* Can't set
a custom scope. This rules out probably 90% of my use cases.* Can set a category
filter, can't use a Tag or search filter* The block includes an h3 heading that 
you can't leave out – if you leave it blank, rather than skip a header it uses Events*
If you don't set an output format (advanced) rather than pull the format you have
defined as a shortcode would, it pulls its own format. I haven't looked to see if
you can set this format somewhere.* in setting output format, you can set header
and footer, which is interesting as that's a deprecated feature in shortcodes due
to security risk of malicious html. All in all, the block is a great start, but 
it needs some enhancements to replace a shortcode. And obviously being able to publish
events help.

![](https://secure.gravatar.com/avatar/817670e136c90051ce935d1aa0050ce4f68daa41459a043bdf34b7f325f5beee?
s=60&d=retro&r=g)

### 󠀁[Errors since version 7.3.5](https://wordpress.org/support/topic/errors-since-version-7-3-5/)󠁿

 [iwmi-webmaster](https://profiles.wordpress.org/iwmi-webmaster/) juni 24, 2026 
2 replies

Since version 7.3.5 the Block Editor no longer shows the WHEN metabox. It shows 
up within the List view as a locked block component and is broken. When we switch
to the Classic Editor the editors can not format the posts using the proper blocks
that they need to use. On existing events when using the block editor even if the
WHEN metabox is enabled in Preferences it does not show anywhere, not even in the
List view.

![](https://secure.gravatar.com/avatar/485dadf3c5d9b7dce470cad4279ebcc1503987fec17eaab22f870c2aeb29d0c7?
s=60&d=retro&r=g)

### 󠀁[Great event plugin](https://wordpress.org/support/topic/great-event-plugin-12/)󠁿

 [laclickchic](https://profiles.wordpress.org/laclickchic/) juni 6, 2026

I’ve tried lots of event plugins and this was by far the best. It ticked all the
boxes for me. I wanted a comprehensive search bar, multiple viewing options and 
reoccurring events. The free version was a great way to get started but the pro 
is even better especially with the import/export capability. I found the tutorials,
support pages and document really good. I’m using oceanwp theme with elementor and
I haven’t had any issues.

![](https://secure.gravatar.com/avatar/ed1b911ec9e3cf581854aac83a258c0d7f68ec177b6668ade1a63a46bc779ae4?
s=60&d=retro&r=g)

### 󠀁[Excellent, but v7.3 crashed the site](https://wordpress.org/support/topic/excellent-but-v7-3-crashed-the-site/)󠁿

 [MMZx](https://profiles.wordpress.org/mmzx/) mai 27, 2026 1 reply

Something wrong with 7.3 version. It crashed the site. WP vers 7.0

 [ Read all 549 reviews ](https://wordpress.org/support/plugin/events-manager/reviews/)

## Contributors & Developers

“Events Manager – Calendar, Bookings, Tickets, Appointments and more!” is open source
software. The following people have contributed to this plugin.

Contributors

 *   [ Marcus (aka @msykes) ](https://profiles.wordpress.org/netweblogic/)
 *   [ Marcus ](https://profiles.wordpress.org/msykes/)
 *   [ Pixelite ](https://profiles.wordpress.org/pxlite/)
 *   [ nutsmuggler ](https://profiles.wordpress.org/nutsmuggler/)

“Events Manager – Calendar, Bookings, Tickets, Appointments and more!” has been 
translated into 30 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/events-manager/contributors)
for their contributions.

[Translate “Events Manager – Calendar, Bookings, Tickets, Appointments and more!” into your language.](https://translate.wordpress.org/projects/wp-plugins/events-manager)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/events-manager/), check
out the [SVN repository](https://plugins.svn.wordpress.org/events-manager/), or 
subscribe to the [development log](https://plugins.trac.wordpress.org/log/events-manager/)
by [RSS](https://plugins.trac.wordpress.org/log/events-manager/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 7.4.5

 * Security: Fixed a broken access control vulnerability. Reported by Hasyros via
   WPScan.
 * Security: Fixed an information disclosure vulnerability. Reported by Karthik 
   Ramakrishnan via WPScan.
 * Fixed: scheduled imports failed because wp-cron and WP-CLI requests were subject
   to the public submitter consent check
 * Fixed: deleting a recurring event’s bookings reported success without deleting
   anything
 * Fixed: a PHP deprecation notice was printed on the admin bookings pages when 
   debugging was enabled
 * Fixed: events with an emoji in their name or content could not be saved on older
   database tables
 * Fixed: events using a custom archetype could not be edited, reporting “Sorry,
   you are not allowed to edit this post”
 * Fixed: publishing an event in the block editor saved it as a draft when pre-publish
   checks were disabled
 * Fixed: the events search form could submit to the default language events page
   under WPML, and to the wrong page on themes overriding the search template
 * Changed: the admin bookings list and pending badge now show only the event type
   you are viewing, with an All Event Types filter for the combined list
 * Fixed: an end time earlier than the start time was not flagged while editing 
   an event
 * Fixed: the booking form security token was only refreshed for the standard booking
   form on cached sites
 * Fixed: the edit icon in the admin bookings list spilled out of its column on 
   narrow screens

#### 7.4.4

 * Security: Fixed an information disclosure vulnerability. Reported via Patchstack.
 * Security: Fixed a missing authorization vulnerability, CVE-2026-92711. Reported
   by M4r0u4n3 via Wordfence.
 * Security: Fixed a spoofing vulnerability, CVE-2026-92614. Reported by Shirshak
   via Wordfence.
 * Fixed: calendar date previews still rendered their modals when Date Preview Mode
   was set to Direct Link
 * Fixed: booking submissions on cached sites failed with “unexpected network error”
   once the form’s security token expired, the form now says it expired and should
   be reloaded
 * Fixed: newly booked attendees did not show on the event page until caches were
   flushed on sites with a persistent object cache, the event was cached with an
   emptied bookings list and never invalidated when bookings changed
 * Fixed: bookings with a zero booking date in the database displayed as “November
   29, -0001”
 * Fixed: fatal error on first activation from WP-CLI or other non-admin contexts
   because the admin notice class was not loaded
 * Fixed: the pending spaces count ignored a forced refresh and could stay stale
   after a booking
 * Fixed: the booking meta migration from 6.1 could rerun on every page load when
   a batch of bookings had no meta, slowing or crashing the site after an upgrade
 * Fixed: events created by imports or the REST API were missing from listings until
   re-saved because their type and archetype were never set, existing events are
   repaired on upgrade
 * Fixed: repeating event occurrences had every previous occurrence’s date appended
   to their slug, breaking their URLs
 * Fixed: fatal error on the category page after updating when an archetype has 
   both categories and tags disabled
 * Fixed: bulk actions such as Move to Trash in the admin failed to redirect due
   to a warning from the archetype post type check
 * Fixed: an empty events page setting could write a rewrite rule that broke the
   page being viewed until rewrite rules regenerated
 * Fixed: a PHP warning was printed above the header row of CSV booking exports
 * Fixed: an event ending after midnight on a later day was flagged as ending before
   it started
 * Fixed: the day view of the events page could not be paginated
 * Fixed: deleting a booking from the admin bookings table still rendered its row
   actions and could print a warning into the response
 * Fixed: admin booking tables could stop responding when the export or settings
   form was picked up before the main table form, notably on multisite
 * Fixed: the booking submit button read “null” after an AJAX submission
 * Fixed: radio buttons were invisible on the admin Add Booking form due to checkbox
   styling applied to radios
 * Fixed: uninstalling from a sub-site in MS Global mode dropped the shared network
   event and booking tables, it is now refused with a link to the network settings
 * Fixed: the bookings admin page turned the URL action into a booking lifecycle
   hook name, so listeners of em_bookings_add could fatal, a dedicated em_bookings_admin_action_*
   hook now fires alongside the legacy name
 * Fixed: the REST API bookings list only returned bookings on the caller’s own 
   events, even for users who can manage all bookings
 * Fixed: the Test Email Settings button reported “Server Error” for administrators
   without the activate_plugins capability
 * Fixed: EM_Event::set_timeslot_id() could never load a timeslot due to malformed
   SQL
 * Fixed: the waiting list could not be joined for a fully booked occurrence of 
   a recurring event
 * Added: em_get_my_bookings_url() accepts a person id and runs through the em_get_my_bookings_url
   filter, so BuddyPress links resolve the booking owner rather than the displayed
   user
 * Tweaked: typo on the help page

#### 7.4.3

 * Security: Fixed an XSS vulnerability CVE-2026-66457. Reported by Mukhlis Amien
   via Patchstack.
 * Security: Fixed low-severity (self-diagnosed) vulnerability allowing unfiltered
   shortcode output under specific setup/variable circumstances.
 * Fixed: fatal error when the booking cancellation cut-off is set as an interval
   such as `P2D` rather than a number of hours
 * Fixed: fatal error saving a location with an attribute no longer in your configured
   attribute list
 * Fixed: quotes in a custom calendar month format broke the month picker
 * Tweaked: documentation links now use https

#### 7.4.2

 * Security: Fixed an XSS vulnerability in grouped event lists.

#### 7.4.1

 * Fixed: events could revert to Draft on save reporting that timeranges cannot 
   overlap, and in some cases the event’s timeslots were silently removed
 * Fixed: events saved in the block editor failed validation asking for consent 
   that cannot be given there
 * Fixed: saving a booking in the admin area failed with “The link you followed 
   has expired” on sites running a page cache plugin
 * Fixed: adding unavailable dates to a saved recurring event did nothing
 * Fixed: recurrences set to specific dates could not be published, reporting that
   the end date must be greater than the start date
 * Fixed: individually edited occurrences of a repeating event had their name, content
   and other details overwritten from the parent
 * Fixed: detaching an occurrence from a repeating event silently failed and left
   the event out of sync with its post, with affected events repaired on upgrade
 * Fixed: detaching tickets did nothing on sites not using the default `wp_` database
   prefix
 * Fixed: fatal error when booking meta was saved with an empty value
 * Fixed: deleting multiple events at once reported the wrong result
 * Fixed: waitlist re-checks and other listeners of `em_bookings_deleted` received
   no event ids
 * Fixed: listeners of `em_event_delete_pre` never fired, due to a trailing space
   in the hook name
 * Fixed: on multilingual sites, bookings could resolve to the wrong event, and 
   deleting a master event could detach occurrences from their series
 * Fixed: on multisite, deleting a site left the timeslot, recurrence and booking
   meta tables behind
 * Fixed: columns added to the timeslots table in a later release were never applied
   to existing sites, and upgrades could remove database indexes added elsewhere
 * Security: Fixed a privilege escalation vulnerability. Reported by Jakub Herman.
 * Security: Fixed an SQLi vulnerability. Reported by Jakub Herman.
 * Security: Fixed an SQLi vulnerability (CVE-2026-15023). Reported by Dmitrii Ignatyev(
   CleanTalk) via Wordfence.
 * Security: Fixed an XSS vulnerability (CVE-2026-17089). Reported by Wordfence 
   PRISM.
 * Security: Fixed an information disclosure vulnerability (CVE-2026-10627). Reported
   by molten bit via Wordfence.

#### 7.4.0.1

 * Fixed (in-dev): dbDelta warnings and malformed ALTER TABLE queries on upgrade
   for the new timeranges table due to blank lines in the CREATE TABLE definition
 * Update notice for Pro users.

#### 7.4

 * Added: a “check for the latest stable version” option that bypasses the staggered
   update rollout, plus an EM_AUTO_UPDATES constant to auto-install held-back versions
 * Fixed: “_load_textdomain_just_in_time was called incorrectly” notice logged on
   every page load
 * Fixed: on multisite, the image maximum file size and minimum width settings were
   not applied network-wide
 * Fixed: form uploads could be silently dropped on save when another upload field
   was left empty
 * Fixed: malformed double-slash URL for the admin dashboard chart script

#### 7.3.7.4.2

 * Added: Stable update checking options, excluded from automatic background updates
 * Moved update checks into em-updates.php so the auto-update veto loads during 
   cron

#### 7.3.7.4

 * Fixed: Critical error on front-end event pages for events with a location URL
   since 7.3.7

#### 7.3.7.3

 * Added: webp as accepted upload image type
 * Fixed: SQL syntax error affecting ticket counts due to unprepared SQL statement(
   props @joneiseman)

#### 7.3.7

 * Added: Push notification framework for the upcoming Events Manager mobile app—
   device registration, per-notification-type controls, and a settings UI.
 * Added: Block editor — Event Details canvas panel with tabbed When and Bookings
   sections; canvas/tabbed/stacked layout setting; namespaced EM\Editor tab system
   for event and location editors; EM runtime now loads inside the canvas iframe
   with full admin CSS and recurrence support.
 * Added: REST API recurring-event and timeslot read/write support.
 * Security: Fixed unauthenticated object injection via booking meta, SQL injection
   in iCal/feed/permalink slug lookups, and unauthenticated booking summary disclosure.
   Reported by Jakub Herman. We recommend updating.
 * Fixed: PHP 8.x infinite loop in the multi-day calendar slot allocator when two
   events overlap on the same day.
 * Fixed: WordPress 6.7+ “translation triggered too early” debug notice — API consent-
   scope now registers on `init` instead of `plugins_loaded`.
 * Fixed: Fatal `array_intersect()` error on the Bookings list when sorted by a 
   single column.
 * Fixed: Fatal “Cannot access offset of type string on string” on settings save
   when `dbem_data` was corrupted to a plain string.
 * Fixed: Booked seat and ticket counts showed as 0 throughout the admin due to 
   an inverted condition.
 * Fixed: “Limit CSS loading” setting ignored since 7.3 — stylesheet enqueued on
   every front-end page regardless of the setting.
 * Fixed: Fatal “Cannot redeclare em_admin_ms_locations()” on multisite subsite 
   admin.
 * Fixed: Recurrence reschedule button and double timeslot bug in the block canvas.

#### 7.3.6

 * Added: EU right of withdrawal (Widerrufsbutton) — guests and registered users
   can now submit a statutory cancellation request directly from a booking confirmation
   email or the My Bookings page, fulfilling the § 356a BGB obligation for distance
   contracts. Includes a configurable site-wide footer link, admin and guest acknowledgement
   emails, and magic-link access so guests without a WordPress account can reach
   the cancellation form.
 * Fixed: Recurring events with an exclude-only recurrence set (or a malformed payload
   with no include/exclude keys) caused a fatal TypeError in uksort() — the order
   array is now initialised before sorting.
 * Tweaked: OAuth connect and disconnect flows now return the admin to the page 
   where they initiated the connection rather than always landing on the Events 
   Manager settings page; the `em_oauth_authorize_redirect_url` and `em_oauth_disconnect_redirect_url`
   filters let gateways and integrations customise the destination further.

#### 7.3.5

 * Security: Private events and locations could be exposed to non-privileged visitors
   when the `private` query argument was supplied — the fix ensures only users with
   the `read_private_events` / `read_private_locations` capability can request private
   content. CVE-2025-14945, responsibly disclosed by shark3y via WordFence. We recommend
   updating.
 * Fixed: A custom Grid format header/footer set in Formatting settings was never
   shown on grid event lists — the view was reading the wrong option name, so the
   header/footer text was silently dropped on both initial load and AJAX search.
 * Fixed: Custom Google Maps JSON styling (Styling Wizard / Snazzy Maps) stopped
   applying after the Advanced Markers upgrade — Google ignores legacy map styles
   when a Map ID is present. Front-end maps with custom styling now render correctly
   again, without the “styles property cannot be set when a mapId is present” console
   warning.
 * Fixed: Block editor — recurring events no longer trigger a false “recurrence 
   times are required” error on second save (disabled recurrence fields are now 
   included in form serialisation); the Event When block’s edits are no longer silently
   dropped in Gutenberg 6.6+ where the canvas renders inside an iframe.
 * Tweaked: The default event editor has been switched back to Classic while block
   editor support is further refined — existing installs are unaffected and the 
   setting can be changed under Events Manager  Settings.

#### 7.3.4

 * Security: Free-text event and location fields submitted by non-privileged users(
   e.g. front-end event submitters) are now sanitised, closing a stored-XSS vector.
   We recommend everyone update.
 * Added: New “Event When” block for the block editor — edit an event’s date, time
   and recurrence inline from the canvas.
 * Added: New display options for timeslot booking cards, giving you more control
   over how timeslot selection appears on the booking form.
 * Fixed: Timeslot and recurring booking pickers are now a single shared template,
   resolving several layout and timezone-picker glitches, multiday date display,
   and a card-gap regression.
 * Fixed: Recurring events now regenerate their timeslots when the event duration
   changes, and event listings sort and scope correctly by timeslot date/time across
   a series.
 * Fixed: Block editor — recurring events no longer fail validation on a second 
   save, and the date picker now initialises correctly inside the editor’s iframe.
 * Fixed: Several REST/MCP API issues found in live testing — bookings made through
   the API were all being attributed to the authenticated admin rather than the 
   intended account; partial event updates could wipe categories and tags; and media
   upload, booking-status and consent handling have been tightened. Booking on behalf
   of another person is now correctly a Pro-only capability.
 * Fixed: MCP installer buttons on the settings page not triggering the install.
 * Fixed: CSS glitches in the selectize search dropdown when resizing or typing.
 * Tweaked: The selected day is now shown in bold across every calendar event style.

#### 7.3.3

 * Added: Calendar “dots” style — events can now be marked with coloured dots instead
   of (or alongside) titles, with a style choice and a per-day event limit exposed
   in the Events Calendar block.
 * Added: REST API support for featured images on events and locations (input and
   output), a media upload endpoint and ability, and term colour + image on event
   categories/tags.
 * Added: Location geo-discovery REST endpoints (countries, regions, states, towns)
   and an `upcoming_events_count` field on the location response.
 * Added: REST `/bookings` now accepts location filters (country/region/state/town/
   near) and a `scope` parameter to filter bookings by event date.
 * Added: MCP `get-booking-requirements` now returns per-field validation metadata
   with country-tuned phone examples, so AI agents can pre-validate bookings.
 * Tweaked: The recurring-booking calendar picker now respects the configured default
   calendar style.
 * Tweaked: Improved the MCP experience for AI agents — authentication now uses 
   WordPress application passwords instead of timeout-prone OAuth tokens, with native-
   app support, and the MCP server now exposes Pro and other add-on abilities alongside
   core’s.

#### 7.3.2

 * Added: REST API now accepts a booking UUID on `/bookings/{id}` routes alongside
   the numeric booking ID, so MCP agents and headless clients can look up bookings
   without needing the database row id.
 * Added: `booked_spaces` and `available_spaces` fields on the event REST API response,
   with corresponding entries in the event-bookings schema.
 * Added: MCP `get-booking-requirements` ability so AI agents can introspect which
   fields, attendees and gateway data a booking needs before submission. Booking
   validation errors are now agent-friendly (specific required-field names instead
   of a generic message).
 * Fixed: REST/MCP — booking validation errors now surface to the caller instead
   of being swallowed; ticket-by-id lookups return the right ticket; event timeranges
   round-trip cleanly through the API.
 * Fixed: `#_BOOKINGBUTTON` placeholder rendering the “Event Cancelled” message 
   instead of “Fully Booked” when an event sold out (`templates/placeholders/bookingbutton.
   php`). Thanks to Jon Eiseman for the report.
 * Fixed: Unavailable Dates being ignored when generating events for a repeating
   series — `Recurrence_Sets::has_collision()` was returning the inbound filter 
   argument instead of the matched recurrence type, so the save loop treated every
   collision as no-collision. Repeating events with exclusions (e.g. “every Monday
   June 1–30 except June 15”) now correctly omit the excluded occurrences. Thanks
   to Jon Eiseman for the diagnosis.
 * Fixed: Event Categories and Event Tags panels not appearing in the Gutenberg 
   block editor’s Document sidebar — taxonomies now opt into the WordPress REST 
   API alongside the CPT when the block editor is enabled, so Gutenberg users can
   assign them to events again. Thanks to Jon Eiseman for the report.
 * Fixed: Multilingual — booking-form settings keys that were missing the WPML globe
   icon are now in the translatable-options whitelist.
 * Fixed: Multilingual — guarded against fatal errors when WPML is partially configured
   and expanded the translatable-settings whitelist to cover newly added options.

#### 7.3.1

 * Bumped version to fix missing file dependency during build causing fatal errors
   in 7.3

#### 7.3

 * Added REST API v1 with full event, location, booking, and ticket endpoints under`
   events-manager/v1/`, PATCH partial-update support, a validation endpoint, and
   extension hooks so custom archetypes and Pro modules plug into the same save 
   pipeline as Gutenberg, the classic editor, headless clients, and WP-CLI
 * Added documented input schemas for the REST API covering events, locations, bookings,
   per-attendee custom fields, embedded location creation, attributes, coupons, 
   and Pro overlay fields
 * Added OAuth Application-Password support so apps can authenticate against the
   REST API without admin sessions
 * Added MCP (Model Context Protocol) adapter and setup wizard so AI agents can 
   read and manage events through the authenticated REST surface
 * Added Gutenberg (block editor) support for events and locations with a Classic/
   Gutenberg toggle on Settings  General, defaulting to Classic on upgrade and Gutenberg
   on fresh install
 * Added Events Manager block category with three blocks (Events Calendar, Events
   List, Locations List), each delegating to the existing widget classes so output
   stays identical to shortcodes and widgets
 * Added ACF-style pre-save validation for the block editor — clicking Publish/Update
   runs EM’s validate() pipeline against the classic metabox state via `events-manager/
   v1/blocks/event/validate`, surfacing errors as editor notices instead of silently
   demoting to draft
 * Tweaked repeating-event template CPTs to continue loading in classic editor since
   the Recurrences metabox does not render correctly in Gutenberg’s metabox panel
 * Fixed XSS vulnerability CVE-2025-12976 (medium severity) reported by Muhammad
   Yudha-DJ via Wordfence
 * Fixed vulnerabilities CVE-2025-12407 and CVE-2025-12408 reported by thinnawarth
   mathuros via Wordfence
 * Changed REST API endpoints to require authentication by default
 * Fixed advanced formatting textareas being POSTed even when their group was hidden,
   which caused some host firewalls (Hostinger, SiteGround, Wordfence) to flag the
   raw HTML templates as XSS payloads and block the Settings save with a 403
 * Fixed pending events count in the WP admin sidebar menu incorrectly including
   or excluding recurring-event templates — counts now filter by event_type for 
   both single and recurring totals
 * Updated intl-tel-input i18n files
 * Fixed some newly added settings missing multilingual translatable options
 * Fixed some PHP notices related to multilingual setups

#### 7.2.3.1

 * Fixed bug with counting approved bookings since 7.2.3
 * Fixed WP caching of event timeslots using only event ID instead of full UID, 
   causing retrieval errors
 * Fixed `EM_Event::get_post_id()` to return `post_id` directly if already set before
   checking recurrence conditions
 * Fixed timeranges (timeslots) not being properly loaded for repeated events, resulting
   in booking forms without timeslot selection
 * Fixed calendar month picker display issue for western hemisphere timezones

#### 7.2.3

 * Fixed multi-timerange and timeslot settings not being reflected in the event 
   submission UI in some setups
 * Fixed incorrect default timerange UI data when adding an extra timerange to an
   event
 * FAQ update
 * Fixed booking cut-off time reverting to 12AM upon save for single events
 * Fixed styling issues for timeslot/range editor where trash icon may not appear
   on front-end for multiple time-ranges
 * Fixed repeating event ticket descriptions not showing on booking form if not 
   overridden
 * Fixed saving a repeated event ticket being set to price 0 rather than repeating
   event parent ticket price
 * Fixed adding exclusion recurrence set not working when creating new event
 * Changed template approach for recurrence sets so recurrence set template is within
   a template element
 * Fixed validation errors in recurring events creating an extra blank recurrence
   set in UI after save attempt
 * Fixed timerange validation errors not saving elements of an event such as recurrence
   set data, timeranges etc. requiring re-setup during submission
 * Fixed event booking cut-off times not being properly saved for recurring events
 * Fixed recurring/repeating event booking cut-off relative dates (by day) not being
   properly saved
 * Fixed quick-action recurring/repeated links showing up for trashed posts
 * Fixed event status inconsistencies whilst trashing and untrashing repeated events
 * Fixed trashed event_status in EM_Event objects always reverting to 0 when loaded
   from DB
 * Fixed inability to unmark an event as all-day once clicked/saved for first time
 * Fixed calendar month formatting option not reflected in calendar
 * Fixed booking form for timeslots showing the time picker if the event is closed
   to bookings
 * Fixed repeating events template showing in the events list
 * Fixed vulnerabilities CVE-2025-12407 and CVE-2025-12408 reported by thinnawarth
   mathuros via WordFence Security
 * Fixed medium XSS vulnerability CVE-2025-12976 reported by Muhammad Yudha – DJ
   via WordFence Security
 * Changed post_id and blog_id to protected properties with magic get/set, allowing
   post-less recurrences to reference parent post and blog IDs
 * Fixed recurrences not correctly referencing categories and category properties
   such as colors
 * Made improvements to spacing on mobile and general booking form views for better
   use of screen real estate
 * Fixed calendar not showing timeslot events with correct time
 * Fixed inconsistent results when showing events split by timeslot
 * Added default option for showing calendars with or without splitting by timeslot
 * Updated intl‑tel‑input to v25.12.5
 * Fixed submission and UI issues with the phone field
 * Fixed allowable HTML in ticket names not outputting in ticket summaries
 * Added booking and ticket counting of reserved vs. pending spaces, fixing inconsistent
   counts with custom pending status
 * Added #_UNAVAILABLESPACES and #_RESERVEDSPACES placeholders
 * Changed #_BOOKEDSPACES so reserved pending spaces are excluded
 * Added shared functions EM_Ticket::get_status_spaces() and EM_Bookings::get_status_count()
 * Fixed ticket required checkbox getting unchecked upon second save when editing
   an event
 * Fixed fatal error when supplying comma-separated list of views in event list 
   or calendar shortcode
 * Fixed fatal error when supplying comma-separated list of views in event list 
   or calendar shortcode (duplicate fix)
 * Fixed Google Map JS warnings
 * Upgraded Google Maps to async loading and Advanced Markers
 * Modified map balloon formats to exclude location name, now automatically included
   in balloon title
 * Updated how map info balloons are styled
 * Fixed privacy consent not being forced as required
 * Fixed “convert to recurrence” link not working outside the event editor
 * Updated readme.txt WordPress version
 * Updated readme.txt WordPress version (correction)
 * Fixed using event=”x” in shortcode or PHP functions producing empty results in
   custom archetypes
 * Added support for iCal and RSS feeds for custom archetypes
 * Added support for taxonomy event lists to include all archetypes or specific 
   ones via placeholders such as #_CATEGORYNEXTEVENTS{archetype}
 * Fixed interference with other scheduled post CPTs
 * Removed jQuery UI Touch Punch 0.2.3 from JS libraries
 * Fixed calendar month picker showing Jan 2025 when navigating from Dec 2025 when
   format is set to M Y instead of F Y
 * Fixed possible PHP warnings in em-event-post.php and em-location-post.php
 * Fixed PHP error associated with #_BOOKINGBUTTON

#### 7.2.2.1

 * Fixed blank admin pages for some server setups (possibly PHP version)

#### 7.2.2

 * Fixed PHP notice in booking actions
 * Fixed critical PHP error in rare cases when booking table settings are saved 
   incorrectly
 * Fixed timezone picker displaying default timezone after saving a single non-recurring
   event in event editor
 * Fixed fatal error when creating new repeating events due to missing default time
   range
 * Fixed recurring events not saving properly due to new time range selectors not
   being editable
 * Fixed redraw issue with showing a hidden recurrences meta box and marked recurrences
   meta box as required to display in screen options
 * Fixed JS error in time range picker when changing regular event to recurring
 * Forced recurrence meta box to appear in editor regardless of screen options
 * Fixed PHP error in some PHP versions due to accessing `$wp_filter` as an array
 * Fixed potential duplicate/multiple time range slots shown on new recurrence set
   creations
 * Fixed timeslot queries in `em_get_event()` overwriting the global `$EM_Event`
   object with timeslot event version
 * Fixed time range editor not allowing multiple time ranges when in a newly added
   recurrence set (before saving)
 * Fixed time range timeslot events not being correctly saved in repeating and recurring
   events
 * Fixed `EM_Event::get_recurrence_days()` not returning an array and causing fatal
   errors in some setups
 * Fixed recurrences not allowing “last of” monthly patterns which refer to “first”
 * Fixed recurring or repeating events not properly saving initial timerange sets
 * Added `set_status()` methods to Timeranges, Timerange, and Timeslot objects
 * Fixed recurrence sets not saving event status to timeslots
 * Optimized `has_timeslot()` checks to avoid regenerating timeslot objects early
   before saving
 * Fixed timeslots saving without `timerange_id`
 * Fixed timeslots not getting deleted with an event
 * Fixed duplication or saving issues when event is a draft resulting in unsaved
   timerange data
 * Fixed duplicating single recurrences not working

#### 7.2.1

 * Fixed calendars not showing events due to timeslot update in 7.2

#### 7.2

 * MAJOR – Added multiple time range and dynamic timeslot support for single and
   recurring events
 * Event IDs can now be comprised of format `123:123` where the `:123` represents
   a timeslot ID
 * `EM_Event->event_id` now supplies the full event UID, whereas `EM_Event->get_event_id()`
   supplies just the numeric event ID
 * Fixed default option for em_get_option() not being used when defaulting to get_option()

#### 7.1.7

 * Fixed PHP `_load_text_domain` warning since 7.1
 * Fixed PHP fatal error when viewing events page with certain settings combinations(
   e.g., title rewriting disabled or subsite events shown on the mainsite in MS 
   global mode)
 * Fixed location pages not working if the location slug contains the event slug(
   e.g., `events` and `events/locations`)

#### 7.1.6

 * Fixed admin menu navigation issues between EM admin pages where page=events-manager-*
   in the URL, due to new archetypes feature in 7.1

#### 7.1.5

 * Fixed missing event list items due to change in 7.1 event_type ‘event’ to ‘single’

#### 7.1.4

 * Fixed PHP warning for including a file intended for 7.2 update.

#### 7.1.3

 * Fixed new archetype data not being added to wp_postmeta for previously created
   events,
 * Fixed edit booking links,
 * Fixed view/edit booking page triggering AJAX instead of page reload,
 * Fixed adding attendees whilst editing a booking showing attendee summary instead
   of the edit form (Pro inherited feature fix)

#### 7.1.2

 * Fixed issues with displaying newly created locations in listings due to eventless
   state since 7.1
 * Fixed pagination issues for locations since 7.1
 * Fixed formatting settings tab hiding formats settings text boxes in super advanced
   mode since 7.1

#### 7.1.1

 * Fixed events, locations and archetypes not using gutenberg when EM_GUTENBERG 
   is set to true
 * Fixed capability issues preventing repeating events from being edited
 * Fixed JS validation preventing dashes being used in new custom archetypes

#### 7.1

 * MAJOR – Rewritten custom posts architecture to introduce Archetypes; create multiple
   event CPTs running off Events Manager infrastructure with individually customizable
   settings (formats, enabled/disabled features, etc.)
 * Added functionality to rename labels and CPTs of main event CPT and locations
 * Changed event_type single ‘event’ type to ‘single’ to avoid confusion with CPTs
 * Added fix and warning for when location Google coordinates aren’t originally 
   saved and location editor is reopened, prompting user to re-save with updated
   coordinates
 * Fixed pagination errors when events list default scope is selected as ‘all’
 * Added new event list scope default option, used as base scope for shortcodes,
   widgets, and functions outside the events page (found on settings page)

#### 7.0.5

 * Improved installation/upgrade logic to allow users to re-trigger `dbem_version`
   upgrades from 6 to 7 without duplicating recurrence set data.
 * Fixed confusing redirect when converting individual repeated events to recurring
   events—now correctly redirects to the converted event.
 * Added `EM_Event->is_repated()` and `$include_repeated` boolean param to `EM_Event-
   >is_recurring()` to differentiate between repeated events and instances of recurring
   events.
 * Fixed image display issues for recurring events on event lists.
 * Fixed orphan removals for Multisite installations.
 * Fixed date-based event queries failing due to new timezone-relative search features
   in EM 7.
 * Added short circuit to prevent current events from showing as past events in 
   the admin menu so that recurrences appear correctly.
 * Fixed front-end editor showing recurrences instead of the main recurring event
   in the admin events list.
 * Fixed fatal error when calling `EM_Event->get_recurrence_description()` on a 
   recurrence.
 * Fixed JS error occurring after a successful booking.
 * Fixed and mitigated issues where broken event data in the `wp_em_events` table(
   e.g., null dates) prevented saving that event in the admin area.
 * Fixed buggy behavior including false positive datepicker validations when saving
   a recurring event with primary recurrence set to an “On” frequency.
 * Fixed minor PHP warning when RSVP is disabled in the admin settings page.
 * Added location duplication feature.
 * Added automatic disabling of event and location duplication via third-party plugins(
   Yoast Duplicate Post, Duplicate Pages, and Copy & Duplicate) to prevent data 
   breakage.

#### 7.0.4

 * Fixed 3 security vulnerabilities reported by Muhammad Yudha and @mikemyers via
   WordFence. Update strongly advaised.
 * Fixed pagination errors introduced in 7.0.3.
 * Fixed potential collation issues with DB tables and added more …

## Meta

 *  Version **7.4.5**
 *  Last updated **5 dagar ago**
 *  Active installations **60,000+**
 *  WordPress version ** 6.1 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.0 or higher **
 *  Languages
 * [Arabic](https://ar.wordpress.org/plugins/events-manager/), [Croatian](https://hr.wordpress.org/plugins/events-manager/),
   [Czech](https://cs.wordpress.org/plugins/events-manager/), [Danish](https://da.wordpress.org/plugins/events-manager/),
   [Dutch](https://nl.wordpress.org/plugins/events-manager/), [Dutch (Belgium)](https://nl-be.wordpress.org/plugins/events-manager/),
   [English (Australia)](https://en-au.wordpress.org/plugins/events-manager/), [English (Canada)](https://en-ca.wordpress.org/plugins/events-manager/),
   [English (New Zealand)](https://en-nz.wordpress.org/plugins/events-manager/),
   [English (US)](https://wordpress.org/plugins/events-manager/), [Finnish](https://fi.wordpress.org/plugins/events-manager/),
   [French (France)](https://fr.wordpress.org/plugins/events-manager/), [Galician](https://gl.wordpress.org/plugins/events-manager/),
   [German](https://de.wordpress.org/plugins/events-manager/), [Greek](https://el.wordpress.org/plugins/events-manager/),
   [Hebrew](https://he.wordpress.org/plugins/events-manager/), [Italian](https://it.wordpress.org/plugins/events-manager/),
   [Japanese](https://ja.wordpress.org/plugins/events-manager/), [Mongolian](https://mn.wordpress.org/plugins/events-manager/),
   [Norwegian (Bokmål)](https://nb.wordpress.org/plugins/events-manager/), [Persian](https://fa.wordpress.org/plugins/events-manager/),
   [Polish](https://pl.wordpress.org/plugins/events-manager/), [Portuguese (Brazil)](https://br.wordpress.org/plugins/events-manager/),
   [Russian](https://ru.wordpress.org/plugins/events-manager/), [Slovenian](https://sl.wordpress.org/plugins/events-manager/),
   [Spanish (Colombia)](https://es-co.wordpress.org/plugins/events-manager/), [Spanish (Ecuador)](https://es-ec.wordpress.org/plugins/events-manager/),
   [Spanish (Spain)](https://es.wordpress.org/plugins/events-manager/), [Spanish (Venezuela)](https://ve.wordpress.org/plugins/events-manager/),
   [Swedish](https://sv.wordpress.org/plugins/events-manager/), and [Ukrainian](https://uk.wordpress.org/plugins/events-manager/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/events-manager)
 * Tags
 * [appointments](https://fao.wordpress.org/plugins/tags/appointments/)[bookings](https://fao.wordpress.org/plugins/tags/bookings/)
   [calendar](https://fao.wordpress.org/plugins/tags/calendar/)[events](https://fao.wordpress.org/plugins/tags/events/)
   [tickets](https://fao.wordpress.org/plugins/tags/tickets/)
 *  [Advanced View](https://fao.wordpress.org/plugins/events-manager/advanced/)

## Ratings

 4.2 out of 5 stars.

 *  [  387 5-star reviews     ](https://wordpress.org/support/plugin/events-manager/reviews/?filter=5)
 *  [  41 4-star reviews     ](https://wordpress.org/support/plugin/events-manager/reviews/?filter=4)
 *  [  24 3-star reviews     ](https://wordpress.org/support/plugin/events-manager/reviews/?filter=3)
 *  [  35 2-star reviews     ](https://wordpress.org/support/plugin/events-manager/reviews/?filter=2)
 *  [  62 1-star reviews     ](https://wordpress.org/support/plugin/events-manager/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/events-manager/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/events-manager/reviews/)

## Contributors

 *   [ Marcus (aka @msykes) ](https://profiles.wordpress.org/netweblogic/)
 *   [ Marcus ](https://profiles.wordpress.org/msykes/)
 *   [ Pixelite ](https://profiles.wordpress.org/pxlite/)
 *   [ nutsmuggler ](https://profiles.wordpress.org/nutsmuggler/)

## Support

Issues resolved in last two months:

     34 out of 36

 [View support forum](https://wordpress.org/support/plugin/events-manager/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://wp-events-plugin.com)