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

---

Søg plugins

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

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

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

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

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

 * [Detaljer](https://da.wordpress.org/plugins/events-manager/#description)
 * [Vurderinger](https://da.wordpress.org/plugins/events-manager/#reviews)
 *  [Installation](https://da.wordpress.org/plugins/events-manager/#installation)
 * [Udvikling](https://da.wordpress.org/plugins/events-manager/#developers)

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

## Beskrivelse

Events Manager is a full-featured event calendar, bookings, appointments, scheduling,
and registration management plugin for WordPress ideal for everything from simple
meetups to full-scale event planning. 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

 * 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
    - Build complex recurrence patterns with exclusion/blackout dates
 * **NEW** Multiple timeslots within the day for events with advanced creation options
    - Overlapping timeslots
    - Buffer between timeslots
 * 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
 * **NEW** Multiple custom event types (Archetypes), such as Workshops, 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 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 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 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](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://em.cm/wc))
 * PayPal, Stripe, Authorize.net 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
 * Check In/Out
 * Move bookings to other dates/times
 * QR Scanning
    - Manage bookings on your phone
    - Check In/Out users
 * Waitlists
 * 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
 * WhatsApp, SMS, Telegram integration and interactive flows
 * 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](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/)

## Skærmbilleder

 * [[
 * 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

## Installation

Events Manager virker som et hvert andet standard WordPress plugin. Det kræver meget
lidt konfigurering at begynde og organisere arrangementer. Hvis du går i stå, så
besøg vores dokumentations og support forums.

Når du installerer eller opdaterer et plugin, eller WordPress selv, er det altid
en god ide at tage backup af dine databaser først!

#### Installing

 1. Hvis installeringen er i gang, så gå til Plugins > Tilføj Nyt i admin området, 
    og søg efter events manager.
 2. Click install, once installed, activate and you’re done!

Når du har installeret, kan du tilføje events med det samme, men du har måske lyst
til at besøge siden med dokumentation og lære hvordan du opnår Events Managers fulde
potentiale.

#### Opgraderer

 1. When upgrading, visit the plugins page in your admin area, scroll down to events
    manager and click upgrade.
 2. WordPress hjælper dig med at opdatere automatisk.

#### Opgraderer fra version 4 til 5

Læs venligst [de her instruktioner](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 helps with
Events Manager – Calendar, Bookings, Tickets, and more!

## Anmeldelser

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

### 󠀁[Couldn’t renew license – dev gave up](https://wordpress.org/support/topic/couldnt-renew-license-dev-gave-up-2/)󠁿

 [willpom](https://profiles.wordpress.org/willpom/) 11. april, 2026

In general EM & Pro is great. Extremely customizable even if you aren’t a developer
but willing to use available resources. However! I had held a renewed license for
5 years. On trying to renew late last year it failed as I had 2 licenses associated
with my account, but I only have used one instance. At first the developer tried
to help but then has gone silent; I have tried multiple ways to contact to no avail.
So I’m left with a plugin that I want to renew and continue using but the developer
is ghosting me.

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

### 󠀁[Paid for license but it was not working](https://wordpress.org/support/topic/paid-for-license-but-it-was-not-working/)󠁿

 [geekery](https://profiles.wordpress.org/geekery/) 4. april, 2026 3 svar

I paid 99€ for a license, but the license itself is not working — which means I 
was never able to actually use the plugin I paid for. After purchase, I tried to
activate the license as instructed, but it simply would not work. Because of this,
I couldn’t access or use the core functionality of the plugin at all. So the issue
is not just minor bugs — the product is effectively unusable from the start. I spent
a significant amount of time trying to troubleshoot this on my own. I checked my
setup, tested different configurations, and made sure everything was entered correctly,
but nothing solved the issue. The license just does not activate. I then tried to
contact support through the available channels, but received no response whatsoever.
Not even a confirmation that my request was received. This is especially frustrating
because the problem is directly related to the license I paid for — something that
should be handled quickly by support. At this point, I have paid 99€ for a product
that I cannot use at all, and I have no way of getting help or resolving the issue.
Very disappointing experience. I cannot recommend this plugin.

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

### 󠀁[Calendar month picker breaks with non-English locales (fix inside)](https://wordpress.org/support/topic/calendar-month-picker-breaks-with-non-english-locales-fix-inside/)󠁿

 [devhop](https://profiles.wordpress.org/devhop/) 18. marts, 2026

The plugin is very powerful and flexible, but I ran into a critical issue with the
calendar month picker when using a non-English locale (e.g. French). After an AJAX
reload of the calendar, the selected month becomes incorrect (often resets to January).
This happens because the JS code parses a localized string like “mai 2026” into 
a Date object, which is not reliable and breaks outside English environments. Root
cause:The code relies on parsing the displayed month label instead of using the 
ISO value already available in the input (e.g. “2026-05”). Suggested fix:Use the
raw value attribute instead of parsing localized text, for example: let rawValue
= monthpicker.attr(‘value’);if (rawValue && /^\d{4}-\d{2}$/.test(rawValue)) {fp.
setDate(rawValue + ‘-01’, false, ‘Y-m-d’);} This avoids locale issues and ensures
consistent behavior across all languages. As a temporary workaround, I had to implement
a MutationObserver-based fix on the frontend to reapply the correct date after each
AJAX reload. I strongly recommend addressing this in the core plugin, as it affects
international users and leads to incorrect calendar navigation. Otherwise, the plugin
remains feature-rich and very useful.

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

### 󠀁[Free, feature-rich & costomizable](https://wordpress.org/support/topic/free-feature-rich-costomizable/)󠁿

 [schrotie](https://profiles.wordpress.org/schrotie/) 3. marts, 2026

Best free feature set, very customizable, works great.

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

### 󠀁[Rating is for PRO version only!](https://wordpress.org/support/topic/rating-is-for-pro-version-only/)󠁿

 [BigBlueMan](https://profiles.wordpress.org/bigblueman/) 23. februar, 2026

I’ve played around with this plug in for years. And the free version is great. Recently
I felt I needed some features that weren’t available unless I upgraded to pro, so
I plopped down the 100+ bucks to do so. And did so gladly.I did this knowing full
well that there had been reviews stating that the customer support was non-existent
and you’d have a hard time getting it working. I figured they were novice operators
that just didn’t know how to make adjustments. So, I spent the money, downloaded
the PRO plug in, fired everything up and ‘nothing’. Posted on the support forum.…
crickets…. I actually went into AI for help. It gave me some ideas, some of which
had me mixing older versions of the program with the pro plug in, none of which 
worked. The more I researched and the more I experimented; I found out basically
nothing. I can say the documentation for upgrading to pro is sketchy at best, so
be prepared to be ‘on your own’ if you spend the money. In the end, I would give
this two ratings:Free version – ***** stars Upgrading to Pro version – ‘ ‘ Zero 
stars Good luck.

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

### 󠀁[Simply works](https://wordpress.org/support/topic/simply-works-293/)󠁿

 [wizard98x](https://profiles.wordpress.org/wizard98x/) 28. januar, 2026

The most amazing this about this plugin is that it SIMPLY WORKS. I am sure there
are paid options, and I may consider them once I get my site off the ground and 
hopefully start making money. Many other plugins want you to submit your earnings
that you will make 3 years from now to them ahead of time. Events Manager gives 
you the opportunity to grow, for free, and then buy premium features if you wish.
I DONT MIND at all paying money for things – if I have money. If I had money already,
I wouldn’t be making a website, duh. They are the best plugin of all the ones I 
have.

 [ Læs alle 542 anmeldelser ](https://wordpress.org/support/plugin/events-manager/reviews/)

## Bidragsydere & udviklere

“Events Manager – Calendar, Bookings, Tickets, and more!” er open source-software.
Følgende personer har bidraget til dette plugin.

Bidragsydere

 *   [ 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, and more!” er blevet oversat til 
30 sprog. Tak til [oversætterne](https://translate.wordpress.org/projects/wp-plugins/events-manager/contributors)
for deres bidrag.

[Oversæt “Events Manager – Calendar, Bookings, Tickets, and more!” til dit eget sprog.](https://translate.wordpress.org/projects/wp-plugins/events-manager)

### Interesseret i udvikling?

[Gennemse koden](https://plugins.trac.wordpress.org/browser/events-manager/), tjek
[SVN repository](https://plugins.svn.wordpress.org/events-manager/), eller abonner
på [udviklerloggen](https://plugins.trac.wordpress.org/log/events-manager/) via 
[RSS](https://plugins.trac.wordpress.org/log/events-manager/?limit=100&mode=stop_on_copy&format=rss).

## Ændringslog

#### 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 meaningful errors
   when saving index tables so admins see clearer error messages.
 * Tweaked installation and update process to schedule DB updates via `wp_cron` 
   for WP-CLI and auto-updates, rather than relying on a dashboard page load.
 * Fixed uninstall fatal error caused by the new `recurrences` table introduced 
   in v7.

#### 7.0.3

 * Fixed code to prevent fatal error in some instances where users run a widget.
 * Added additional CSS selector/detector to booking form JS dynamic loading to 
   detect waitlist forms.
 * Changed uploader to initialize on `init` so that multisite global options are
   applied.
 * Moved `EM_MS_Globals` out of `events-manager.php` into its own class file.
 * Fixed bug in multisite global tables mode showing faulty recurrence set records
   in the editor.
 * Added recurring event recurrence description to events admin list.
 * Changed default scope to ‘all’ for any post status other than ‘All’ or ‘Published’
   in admin events list.
 * Added `event_type` search attribute for `EM_Events::get()`, accepting comma-separated
   list or array of event types to include.
 * Added `post_id` accepted boolean values (or `'true'` / `'0'`) to include or exclude
   events with a post ID (essentially, include/exclude recurrences).
 * Fixed search form not working in shortcode using `has_search` due to view container
   ID mismatches.
 * Fixed potential widget fatal errors.
 * Added cache flushing when editing category colors or images to update cached 
   pages throughout a site.
 * Fixed `EM_Event->save()` invocation trying to create a post even if it’s an event
   recurrence.
 * Fixed ability to add higher than `event_status` 1 and added `em_get_post_status`
   to allow custom post statuses in WP admin.
 * Fixed end-of-month jumps when `empty_months` is set to false.
 * Changed newly added `empty_months` shortcode prop to `true`, which mimics previous
   calendar behavior.
 * Fixed orphaned events remover in admin tools incorrectly including new recurrences
   as orphaned events.
 * Fixed conversion issues from repeated to recurring events, now prompting re-conversion
   for upgraded event installs.

#### 7.0.2

 * Fixed recurring event editor UI display issues on front-end for recurring/repeated
   event patterns.
 * Fixed bbPress fatal error.
 * Fixed ticket start/end times being ignored due to new overriding ticket settings.

#### 7.0.1

 * Added recurring events functionality, which now hosts one page for all events
   of that recurrence type.
 * Added recurrence booking form picker including a calendar and dropdown selection.
 * Added support for true timezone-relative calendar and recurrence selection listings
   via the `calendar_timezone` attribute.
 * Added support for searching in timezone-relative scopes for events using the `
   timezone_scope` attribute.
 * Added admin support for viewing bookings belonging to recurring events.
 * Added conversion features to transfer repeated (previously called “recurring”)
   events into recurring events.
 * Added 302 redirection functionality for converted repeated > recurring events.
 * Moved booking form JS into externally and dynamically loaded JS file.
 * Added month skipping navigation in calendars allowing skipping months with no
   events.
 * Added multiple calendar UI display tweaks/fixes to eventful and today months.
 * Fixed blank calendar dates showing display dates.
 * Added different calendar header option via the `calendar_header` attribute.
 * Added `setStartOfMonth()` and `setEndOfMonth()` to `EM_DateTime`.
 * Added timezone display options in `EM_DateTime::getDate()` and `getDateTime()`
   functions.
 * Changed selectize JS to dispatch a `CustomEvent` object from parent element with`
   detail` containing selectize objects.
 * Post ID is now optional for events.
 * Fixed loading order of translated string assignments so they occur after init,
   while hard-coding potentially required strings during previously translated actions/
   filters.
 * Updated readme “tested up to”.
 * Namespaced Selectize and the `.selectize()` functions to `EM_Selectize` and `.
   em_selectize()` respectively to avoid collisions with other plugins.
 * Fixed phone input button styling clashes in manual bookings and potentially other
   pages.
 * Moved `EM_Scripts_and_Styles` out of `events-manager.php` into its own class.
 * Added `EM\Scripts_and_Styles::add_js_var()` allowing for footer localization.
 * Added `em_wp_localize_script_footer` allowing plugins to override EM localized
   script vars.
 * Added a catch exception in `EM_DateTime::modify()`.
 * Renamed some PHP variables in overriding methods (minor).
 * Added multi-layer recurrence patterns including exclusions so events can have
   multiple recurrence patterns.
 * Added `event_type` field allowing for recurrences, repeated, and recurring event
   types.
 * Changed recurring event saving logic to prevent deletion unless explicitly rescheduled
   or removed.
 * Added cancellation/deletion options for recurrences not included in newly rescheduled
   patterns.
 * Improved event update logic so that only new recurrences are added during rescheduling.
 * Changed vocabulary from “recurring events” to “repeating events” for clarity 
   and future compatibility.
 * Updated ticket logic to support recurrence/override patterns while maintaining
   parent-child relationships.
 * Added `Recurring_Sets` and `Recurring_Set` objects to handle recurrence data.
 * Rewritten recurring event logic for greater flexibility and future extensibility.
 * Added `EM_Ticket::get()` for cache-friendly ticket retrieval.
 * Added `EM_DateTimeZone::getCity()`.
 * Deprecated `recurrence_` fields in `events` table.
 * Added `em_event_recurrences` table.
 * Changed ticket deletion so it requires an event save.
 * Added nonce safeguards for disabling RSVP/bookings, deleting recurrences, and
   rescheduling tickets.
 * Added `em_datepicker_format()` function to output datepicker format.
 * Fixed uploader validation issues in JS and PHP caused by blank default extensions
   settings for event/location image uploads.
 * Added non-escape option to allow HTML sub-values in attendees mulitple column
   data views on bookings table.
 * Removed JS requirement for asset selectors to be wrapped by `em` in dynamic asset
   loading.
 * Improved dynamic asset loading by pre-loading asset groups before firing `onload`
   events.
 * Improved booking form JS by encapsulating container scopes within functions and
   events rather than scoping at the document level.
 * Fixed phone input field JS error.
 * Fixed missing uploader field minified CSS files.
 * Fixed calendars showing the wrong month when there’s a long event starting in
   an earlier month.
 * Fixed ticket caching issue when saving events, which caused the event editor/
   page to show outdated ticket data such as prices.
 * Added `EM_Event->just_disabled_rsvp` to detect RSVP being disabled during an 
   event save process.

For changelog of 6.6.4.4 and lower, see the [earlier reamde.txt](https://plugins.svn.wordpress.org/events-manager/tags/6.6.4.4/readme.txt).

## Meta

 *  Version **7.2.3.1**
 *  Senest opdateret **4 måneder siden**
 *  Aktive installationer **70.000+**
 *  WordPress-version ** 6.1 eller højere **
 *  Testet op til **6.9.4**
 *  PHP-version ** 7.0 eller højere **
 *  Sprog
 * [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/) og [Ukrainian](https://uk.wordpress.org/plugins/events-manager/).
 *  [Oversæt til dit sprog](https://translate.wordpress.org/projects/wp-plugins/events-manager)
 * Tags
 * [appointments](https://da.wordpress.org/plugins/tags/appointments/)[bookings](https://da.wordpress.org/plugins/tags/bookings/)
   [calendar](https://da.wordpress.org/plugins/tags/calendar/)[events](https://da.wordpress.org/plugins/tags/events/)
   [tickets](https://da.wordpress.org/plugins/tags/tickets/)
 *  [Avanceret visning](https://da.wordpress.org/plugins/events-manager/advanced/)

## Bedømmelser

 4.2 ud af 5 stjerner.

 *  [  384 5-stjernet anmeldelser     ](https://wordpress.org/support/plugin/events-manager/reviews/?filter=5)
 *  [  40 4-stjernet anmeldelser     ](https://wordpress.org/support/plugin/events-manager/reviews/?filter=4)
 *  [  23 3-stjernet anmeldelser     ](https://wordpress.org/support/plugin/events-manager/reviews/?filter=3)
 *  [  32 2-stjernet anmeldelser     ](https://wordpress.org/support/plugin/events-manager/reviews/?filter=2)
 *  [  63 1-stjernet anmeldelser     ](https://wordpress.org/support/plugin/events-manager/reviews/?filter=1)

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

[Se alle anmeldelser.](https://wordpress.org/support/plugin/events-manager/reviews/)

## Bidragsydere

 *   [ 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

Problemerne er løst inden for de sidste to måneder:

     2 ud af 55

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

## Donér

Vil du gerne støtte udviklingen af dette plugin?

 [ Donér til dette plugin ](https://wp-events-plugin.com)