Ready to get started?Download WordPress

Plugin Directory

My Calendar

Accessible WordPress event calendar plugin. Show events from multiple calendars on pages, in posts, or in widgets.


  • Bug fix: Minor event templates ( title, detail, etc. ) were not properly escaped in admin forms.
  • Bug fix: use reply-to email header in support messages
  • Bug fix: Mass approval of pending events broken.
  • Bug fix: {linking} template tag referenced wrong event URL.
  • Bug fix: My Calendar API RSS no longer dependent on default RSS data.
  • Bug fix: Replace mysql_* functions for PHP 5.5 compatibility.
  • Bug fix: Incorrect template tag in Single view template: {gcal} instead of {gcal_link}
  • Bug fix: PHP notice on $map
  • Language updates: Japanese, German, Italian


  • Added {link_image} to add an image linked to the event URL in templates.
  • Bug fix: extended caption value saved but not shown.
  • Bug fix: For multi-day events ending at midnight, last date automatically extended one day at save.
  • Bug fix: on copy, if start date is changed, but end date isn't, increment end date to match length of original event.
  • Change: Eliminate error on empty title fields or invalid recurrence values. Set to default value instead.


  • Did not enqueue jQuery on front-end unless Google Maps was enabled. (Incorrect condition nesting...) Whoops.


  • Error in yesterday's bug fix for upcoming events.
  • Bug fix: Email notifications broken.


  • Bug fix: Notice in today's events widget
  • Bug fix: Images from pre 2.3.0 configuration did not display in default Single event view.
  • Bug fix: Upcoming events list could return too few events.
  • Bug fix: Display default date format if format not set.
  • Bug fix: Fallback to default JS if custom JS not defined.
  • Filter: added filter to Google Maps code; mc_gmap_html
  • Option: enabled option to disable Google Maps output.


  • Bug fix: Week date format wouldn't save.
  • Bug fix: Event posts & custom field data not saved on copy action
  • Bug fix: HTML errors in {hcard} address format.
  • Bug fix: Manage events search form overlapped pagination links
  • Bug fix: Events ending at midnight in Today's Events lists appeared twice


  • Bug fix: Notice on access_options filter.
  • Bug fix: Invalid date values if no parameters set for iCal
  • Bug fix: Invalid nonce check in location entry prevented creation of new locations. One missing exclamation point. Sigh.
  • Bug fix: If location controls are on, allow old values to be saved, but raise notice that value is not part of controlled set.
  • Feature: add sync=true to root iCal URL to connect apps for scheduled syncing. (http://example.com/feeds/my-calendar-ics/?sync=true)
  • Updated: Polish translation


  • Bug fix: label change to clarify entry format for location controls
  • Bug fix: Missing end tag on element
  • Bug fix: my_calendar_search_title can handle missing 2nd argument
  • Bug fix: Add "active" class span on time toggle active case.
  • Bug fix: Recurring all-day events showing twice
  • Bug fix: Non-editable fields for date/time input broke occurrences & restricted time options
  • Bug fix: Category filtering broken when holiday categories enabled
  • Bug fix: Double check whether categories exist and throw error if not, after attempting to create default category.
  • Feature: Mass delete locations


  • Bug fix: PHP warning on event save
  • Bug fix: PHP Notices generated on deleted author/host value.
  • Bug fix: Pop-up calendar for date entry had incorrect day labels
  • Bug fix: Editing individual date instances issues.
  • Bug fix: {image} fallback for pre 2.3.0 uploaded images
  • Added: secondary sort filter for main calendar views; default event_title ASC. Field and direction must be provided to change.
  • Updated my-calendar.pot


This is a major revision.

  • Bug fix: Manage events screen showed no data for users without manage_events permissions.
  • Bug fix: if single event set, could not filter to time period views.
  • Bug fix: 'single' template ID not passed into template filter.
  • Bug fix: events in private categories appeared in time-based upcoming events lists.
  • Bug fix: RSS feed encoding.
  • Bug fix: Turn-of-year issues with week view.
  • Bug fix: Added new locations multiple times if added with multiple occurrences of an event.
  • Bug fix: In some browsers, time selector added invalid data.
  • Bug fix: List of search results not wrapped in a list element.
  • Bug fix: Trim spaces on above/below navigation strings.
  • Bug fix: If an event ends at midnight, automatically end tomorrow unless set for a later date.
  • Bug fix: Don't show events on both days if they end at midnight.
  • Bug fix: Don't attempt to enqueue jquery.charcount.js if WP to Twitter not installed.
  • Bug fix: Dates didn't strip links in list view when JS disabled for that view.

  • New template tag: {runtime} to show human language version of length of event.

  • New template tag: {excerpt} to create autoexcerpt from description field, using shortdesc if it exists.

  • New feature: Accessibility features for locations.

  • New feature: Specify accessibility services for events.
  • New feature: ticketing link field
  • New feature: event registration information fields
  • New feature: my_calendar_event shortcode can query templates by keyword (list,mini,single,grid).
  • New feature: filter events by available accessibility services
  • New feature: Combined filter shortcode to group all filters into a single form. [mc_filters show='locations,categories,access']
  • New feature: new API for adding custom fields to events.
  • New feature: data API to fetch event data in JSON, CSV, or RSS formats.
  • New feature: Archive events to hide from admin events list.
  • New feature: Control input options for multiple types of location input data.
  • New feature: Shortcode generator for primary, upcoming, and today's events shortcodes.
  • New feature: admin-side event search
  • New feature: category key now acts as quick links to filter by category
  • New feature: Option to add title to Event Search widget.

  • New filter: mc_date_format for customizing date formats.

  • New filter: customize search results page: mc_search_page
  • New filter: mc_use_permalinks to enable use of custom post type permalinks for single event pages.
  • New filter: mc_post_template to customize template used in single event shortcode automatically inserted into custom post type pages.

  • New design: new stylesheet available: twentyfourteen.css

  • Updated: added more fields to search on events.

  • Updated: updated image uploader to use add media panel and store attachment ID
  • Updated: template supports all template tags (but strips HTML.).
  • Updated: Various aspects of UI
  • Updated: Date/time selectors. See http://amsul.ca/pickadate.js/, MIT license.

  • Reorganized default output template code.

  • Import all used locations into location manager.
  • Removed User settings fields.
  • Moved Holiday category assignment to Category Manager.
  • Improved get current URL function.
  • iCal output in multiple-month view outputs all displayed months.
  • {map} template tag to display a Google Map using the Google Maps API. (Not available in pop-up displays.)
  • Scheduled removal of showkey, shownav, toggle, and showjump shortcode attributes.
  • Removed upgrade support for 1.6.x & 1.7.x series of My Calendar.


  • Bug fix: Threw error if network-activated (wp_is_mobile() not defined yet)
  • Bug fix: Calendar URI could be saved as integer instead of as URL.
  • Bug fix: hide screen options that current user can't use.
  • Improved localization of Calendrical jQuery plug-in.
  • Feature: my_calendar_upcoming and my_calendar_today shortcodes now support filtering by host.
  • New filter: mc_send_notification -- passes event and user data to determine whether a new event email notification should be sent. Return true|false.


  • Bug fix: jquery.calendrical time rendering.


  • Required deleted file.


  • Bug fix: date comparison in grouped event date output.
  • Bug fix: editing a single occurrence of an event when location fields not displayed could result in duplicating the event.
  • Bug fix: Duplicated on event title in events manager.
  • Bug fix: Generated WP to Twitter empty sentence error.
  • Bug fix: Grouped events within a single day in upcoming events list.
  • Bug fix: Run My Calendar upgrade stylesheet archiving only when My Calendar is updated.
  • Bug fix:
  • Changed: replaced mc_is_mobile() functionality with native wp_is_mobile(). Filterable for My Calendar using 'mc_is_mobile' filter.
  • Changed: properly registered and enqueue most front-end styles.
  • Changed: Removed classes 'prevMonth' and 'nextMonth' from navigation.
  • Misc. minor style changes to front and back end UI.
  • Added: special value for 'author' and 'host' attributes of 'current' to only show events created by the logged-in user. Filter via 'mc_display_author' and 'mc_display_host'
  • Added: date and time to title field for My Calendar RSS feed.
  • Preparation: permission filtering for submissions and registrations add-ons.
  • Updated: German & Slovenian Translations.


  • Bug fix: Reversed argument in $details filter, breaking custom template editor.


  • Bug fix: Fix in mini calendar scripting with AJAX.
  • Bug fix: Strict error in My Calendar Search widget.
  • Bug fix: My Calendar screen options disabled other screen options.
  • Updated: Slovenian
  • Documentation error: cat_id, not category_id
  • Added support for BotSmasher as a spam filter for events.
  • Removed location region from Google Maps string (Google Maps choked on that data.)
  • Removed EasyDrag jQuery plug-in due to compatibility issues.
  • Eliminated 4 filters: mc_event_content_{$type}; replaced with single filter mc_event_content with $type parameter.
  • Added support for WP 3.6 shortcode attribute filters.
  • Added more filters & actions. Lots and lots of filters. Actions. Yeah.
  • Maybe I'm the only one excited about the last thing.


  • Bug fix: map links could render links with no data.


  • Bug fix: Link to single day events from mini calendar broken.
  • Bug fix: Return to calendar link from print view
  • Bug fix: some map links missing 'external' class.
  • Updated: couple missing i18n strings
  • Bug fix: widget title link could not be saved.
  • Bug fix: Changing the event time on individual occurrences of a recurring event showed wrong time in upcoming events list.
  • Bug fix: rewrite of AJAX scripting to clear bugs.
  • Bug fix: Event authors with "add" capability could not edit their own events or copy events from the admin.
  • Bug fix: Time frame toggles triggered beginning of month instead of current week/day if no params set.
  • Deprecated upgrade paths from versions prior to 1.5.0.
  • Eliminated single-day timeline URL settings field (no longer required.)
  • Added filter mc_modify_day_uri to allow above target URL to be customized.
  • Removed caching option; caching accessible only via filtering.
  • Updated: French, Italian, French, Slovenian
  • Added: Galician


  • Bug fix: better bug fix in 2.2.3 event duplication bug.
  • Updated: Japanese translation.


  • Bug fix: event duplication bug in 2.2.3


  • Bug fix: duplicate attribute 'rel' in prev/next nav.
  • Bug fix: category color associations on event titles when no color assigned.
  • Bug fix: print view would not always display all categories if no limits set.
  • Bug fix: Group editor lost multi-day settings.
  • Improvement: throw a warning on events set up with problem settings, e.g. recurring events where the next occurrence begins before the current event has ended.
  • Added template tag: {map_url} for Google Map URL.
  • New filters: filters for calendar year/month/day (to change the default start date for the calendar.)
  • Language updates: Japanese, Italian, Dutch, Romanian, and Slovenian


  • Bug fix to importer from Calendar
  • Another fix to link_map (this time, in the standard calendar view.)
  • Bug fix: location preset being assigned didn't allow changes to location details when editing events.


  • Bug fix: Pull multi-day events in upcoming events list that happen today, but started on a previous day when past events set to 0.
  • Bug fix: broken {link_map} template tag.
  • Update to Italian translation.


  • New feature: event search (widget).
  • New feature: with WP to Twitter installed, auto post events to Twitter when published or approved.
  • New feature: toggle timeframe between month/week/day view
  • New setting: ensure best possible color contrast between background color and title link.
  • Split manage events page and add event page into two separate interfaces.
  • Removed non-sortable fields from display for manage events interface.
  • Moved setting for number of events on manage events page to screen options.
  • New screen option: on event manager screen, users can turn off areas of the event manager they don't use.
  • New template tag: {image_url}, to pull an event's associated image without HTML
  • New template tag: {linking}, event URL with fallback to details link
  • New template tags: {gravatar} and {host_gravatar} to show author/host gravatar images.
  • New filter: mc_event_mail_to.
  • New filter: mc_past_search_results.
  • New filter: mc_future_search_results.
  • New filter: mc_search_template
  • Added support for variable increments (e.g., every 3 weeks, every 4 months, etc.)
  • Added template tag support to notification email subject line
  • Added option to send HTML notification emails
  • Added option to set sending address for notification emails
  • Added template tag to add event to Google Calendar
  • Added 'check all' option to event manager.
  • Accessibility Improvement: added aria-live attributes.
  • New shortcode attributes: 'above' and 'below'. (Control order and display of elements above/below calendar.)
  • Deprecated shortcode attributes: showkey, shownav, toggle, showjump. Will be removed in My Calendar 2.3.0.
  • Updated shortcode generator to use new attributes. Also added support for author and host attributes.
  • Miscellaneous tweaks to all My Calendar themes.
  • jQuery improvements. (jQuery version 1.7 minimum requirement.)
  • Bug fix: multi-day events incorrectly displayed in Upcoming Events by dates view
  • Bug fix: Open events to details page briefly rendered empty details pop-up (requires script update)
  • Bug fix: element filter didn't strip all HTML tags.
  • Bug fix: hcal end time
  • Bug fix: upcoming events miscounted number of events with overlapping multiday single events.
  • Bug fix: today's events are now counted towards total events in upcoming events list
  • Bug fix: retention of location data when location fields disabled in manager
  • Bug fix: documentation correction for remote DB
  • Bug fix: caching issue when filtering by location
  • Language updates: German, Spanish, French, Japanese, Dutch, Polish, Italian, Slovenian
  • Deprecated support for WordPress versions up to 3.3.0 due to jQuery version change.


  • Bug fix: upcoming events timestamps were converted to UTC.


  • Bug fix: weekly view when crossing years jumped to next year
  • Bug fix: Upcoming events sorting fix
  • Bug fix: Upcoming events count fix
  • Bug fix: print stylesheet directory fix.


  • Bug fix: My Calendar stripped title elements from singular posts unless an SEO plug-in was installed.


  • Bug fix: Miscounted number of events in upcoming events view when events were multiple days.
  • Bug fix: My Calendar URL guessing now only selects from published Pages/posts
  • Tweak: Minor change to HTML output in print view
  • Added: Option to display current month or current year using Upcoming Events widget.
  • Added: Filter to display a custom on single event details pages with settings field to configure that title. (Improves SEO)
  • Language updates: Italian, Russian, Basque


  • Bug fix: users without 'Approve Event' ability submitted unapproved events even when event approval was disabled.


  • Miscellaneous filepath fixes for custom icons
  • Fixed filepath issue for custom content directory in loading calendar generator
  • Added templating options to RSS feed event format
  • Added two new template tags: description_stripped and shortdesc_stripped; returns the description fields with HTML removed.
  • Re-organized settings to provide better grouping.
  • Removed jumpbox default setting; jumpbox now only configurable via shortcode.
  • Bug fix: titles missing in list view when open to details link enabled.
  • Bug fix: Multi-day events listed only once in upcoming events lists.
  • Minor stylesheet tweaks.


  • I horribly screwed up the Upcoming Events widget in 2.0.11. Please accept my apologies.


  • Fixed Broken custom stylesheets editing/selection.
  • Added Custom links for widget title links
  • Fixed issue with event links expiring immediately
  • Fixed issue with holiday collisions restricted in Upcoming Events/events only when holiday category is displayed.
  • Added full year output option for iCal downloads.
  • Added setting for calendar heading month formatting.
  • Updated language files: Japanese, Italian, German, Turkish


  • Updated Japanese, Turkish, and Italian translations
  • Bug fix: Upcoming Events list could not be limited to a single author.
  • Bug fix: Un-approved events were being displayed in some public contexts.
  • Bug fix: Problem with RSS feed template elements not rendering in some cases.
  • Bug fix: Upcoming Events removed events inappropriately in certain situations when 'skip on holidays' was checked
  • Bug fix: Updated method for getting current plugin URL.
  • Deprecated support for WordPress versions before 3.0.6.


  • Bug fix: Email notification on event addition to admin did not receive event data.
  • Bug fix: Accidentally eliminated weekend class. Now it's back!
  • Bug fix: Events crossing multiple dates need per-date unique IDs
  • Code change: Some code simplification for current URL and plugin URL references.
  • Updated languages: Portuguese, Dutch, Italian


  • Re-written (simplified) holiday exclusion mechanism.
  • Performance improvements to templating and event processing.
  • Bug fix: Import from Kieran's "Calendar" plug-in was broken.
  • Bug fix: 'nextmonth' class was attached to events in weekly view; not appropriate to view.
  • Bug fix: Deleting single instance deleted entire event series.
  • Added option: number of events per page in admin events list


  • Bug fix: Show list view on mobile devices option did not work.
  • Bug fix: No longer forcing links on titles in list or mini view.
  • Bug fix: All-day events came up with random end times.
  • Change: All-day checkbox added.
  • Change: All-day events automatically forced to hide end times.
  • Change: removed X-WR-CALNAME field from iCal output for improved compatibility
  • Updates: Partial updates to Spanish, Italian, and Dutch translations.


  • Bug fix: Mini calendar links pointed to current display month regardless of current display date.
  • Bug fix: if day parameter was set, the main calendar views showed events for month starting from that date.
  • Bug fix: if day view was targeted from mini calendar with default cid parameter set, would not react
  • Bug fix: Calendar could not show events which had start and end dates which spanned the displayed period but were not included in the displayed period.
  • Moved screenshots into assets folder in version repository.
  • Translation source updated at http://translate.joedolson.com/ - now the translations need refreshing!


  • Bug fix: Date links were eliminated in mini calendar if option to link to day-view was enabled.
  • Bug fix: Today's events drew events based on UTC instead of current timezone.


  • Bug fix: template variable misassigned in the Today's Events shortcode.
  • Change: Added option to output iCal either in UTC or with times as entered. (Previously only UTC)


  • Bug fix: Upcoming events widget did not support the "show_today's events" option correctly.
  • Bug fix: Was not possible to set 12:00 am as the end time for an event.
  • Bug fix: prevented blank title in main calendar due to faulty template.


  • Bug fix: My Calendar did not enqueue jQuery
  • Bug fix: Grid view did not display last day of month if first day of week and last day of month were both Sunday


  • Bug fix: Error in default settings for event titles.
  • Bug fix: Single Event iCal export broken
  • Bug fix: Today's Events shortcode broken if author not specified
  • Change: Deleting or updating categories now refreshes the cache.


  • Completely re-written database model for events.
  • Added: pagination on event manager list of events.
  • Added: Restrict groups manager lists to currently grouped/ungrouped lists of events.
  • Added links to other event instances visible when editing events with multiple instances.
  • Added default category selection.
  • Added feature: limit calendar views by event author.
  • Added feature: filter event manager view by location, author, or category.
  • Added feature: mark categories as private, to only show those events to logged-in users.
  • Added templating to locations list so user can produce list of any set of location data.
  • Added option in event manager to copy location data into Locations table
  • Added [my_calendar_event] shortcode to fetch information for a single event.
  • Added template tag {timerange} to display start-end times.
  • Change: all events now have an end time. Option to hide end times to maintain current display.
  • Bug fix: iCal had missing newline; events now return labeled UTC time
  • Bug fix: RSS does better job of clearing non-XML special characters.
  • Bug fix: If preset location was selected, no other edits to locations could be done.
  • Bug fix: when copying an event, the new event was grouped in the same group as the source event.
  • Bug fix: if stylesheet was disabled, stylesheet was erased on next save of style settings.
  • Bug fix to category limiting which matched category names like 'baseball' to show 'all' categories.


  • Fatal error in PHP 5.4+ https://bugs.php.net/bug.php?id=54657
  • Bug fix: {date} and {time} template tags not rendered in details link when run in a template.
  • Bug fix: upgrade database button placement off-screen
  • Bug fix: layout on stylesheet editor caused usability problems
  • Bug fix: added line break in iCal output.
  • Change: added alt attribute to category icons in appropriate contexts.
  • My Calendar 2.0 beta added to subversion repository. Here there be bugs.


  • Bug fix: Called wp_editor on versions below 3.3
  • Bug fix: assorted PHP notices cleaned up.


  • HTML validation issue fixed in calendar output.
  • Added option to hide display of external event links in calendar output.
  • Bug fix: Mini calendar should not toggle from mini view when main view switched.
  • Bug fix: Week time frame of list view did not return the 'no events' message.
  • Feature: No events message can be customized by using an enclosing shortcode: [my_calendar]No events this week![/my_calendar]


  • Added option to use {date} in Today's Events widget title.
  • Events with the same time are now sub-sorted by title in Upcoming Events lists.
  • Template tag {endtime} returns empty string if same as start time
  • Standard event output returns empty string for event end time if same as start time.
  • Can only check 'multi-day event' option if event has multiple occurrences.
  • Categories in editor now sortable by either ID or category name.
  • Categories in input now sorted by category name.
  • Updated mobile detection class.
  • Major revision to permissions handling to use custom capabilities
  • Redesign of settings pages.
  • Can target tablet devices with CSS by adding a stylesheet called mc-tablet.css to your theme directory.
  • Can target other mobile devices with CSS by adding a stylesheet called mc-mobile.css to your theme directory.
  • Template tags now support before and after attributes: {tag before="<p>" after="</p>"}
  • Added option to retrieve events, categories, and locations from a remote database. (e.g., to share calendar information between 3 related sites.)
  • Eliminated details arrow; forcing anchor element on clickable title.
  • Added 'id' attribute to My Calendar shortcode, to customize unique ID for calendar and avoid non-compliant duplication of IDs
  • Added 'template' attribute to My Calendar shortcode, so specific calendars can use their own individual custom templates. Templates should be text files (.txt) placed in your theme directory.
  • Reduced specificity in stylesheets by eliminating ID-based references.
  • Fixed bug with day/date consistency in 5-day grid calendars.
  • Added day class to date boxes without dates.
  • Jumpbox is now switchable from the shortcode.
  • Fixed google maps link to use the correct directions targeting method
  • Various changes for WP 3.4 compatibility.
  • Updated Danish Translation
  • Updated Czech Translation
  • Added Hindi Translation


  • Bug fix: List format showed all dates, regardless of whether there were events for that date.
  • Bug fix: List format showed incorrect classes.
  • Bug fix: Pipe separator for categories not supported with caching.
  • ARRRRGGGGHHHH!!! I'm sure you're as frustrated about all these little releases as I am. But who wants to sit on known bugs?


  • Bug fix: Variable not checked for type threw usort warning.
  • Bug fix: Details links rendered incorrect page if linked from a single post location with permalinks not enabled.
  • Bug fix: Fixed bug where calendar returned no information if cache reached max size.
  • Settings change: Caching is now defaulted to off.


  • Bug fix: Upcoming events list did not respect category limits.
  • Validation error/bug fix: Date for ID for first of month was incorrect.
  • Validation error: unencoded ampersand in iCal link if permalinks disabled.


  • Added option to clear cache from settings.
  • Bug fix: Error in caching where cache returned false for multi-category limited calendars.
  • Bug fix: Error in caching where cache returned false for category limited calendars using category name as delimiter. Thanks to Antti Palosaari for reporting this bug and for testing fixes.
  • Bug fix: Error notices if user is deleted who is assigned as host of some events. Thanks to Florian Edelmann for reporting this bug and contributing solution.
  • Bug fix: Upcoming events in dates mode returned null for cached dates.


  • Bug fix: upcoming events list breaks if 'This is a multi-day event' is checked for an event with only a single occurrence.
  • Bug fix: Upcoming events caching did not cache correct data.
  • Modification: eliminated some extraneous database calls
  • Modified: clarifying text edits
  • Added: category classes on calendar date cells


  • Made 'to' value in Google Maps links a translatable value.
  • Feature change: iCal download now respects currently selected month.
  • Added a phone number field to the Location manager
  • Added a setting to display only the core site's calendar on child sites in multisite mode.
  • Added a setting for the link target for mini calendar dates
  • Re-wrote labels for URL link target settings fields.
  • Bug fix: Location selector did not respect currently selected categories.
  • Bug fix: "Add another occurrence" option available in Edit mode, but not functional. Removed option.
  • Bug fix: Limiting by categories didn't trim whitespace from category names.
  • Bug fix: Fixed RSS/ICS/Print permalinks if PATHINFO permalinks are enabled.
  • Improved cache handling. Cache limit relative to amount of memory available to PHP. Cache stores information more efficiently.
  • Revised RSS/iCal handling to avoid .htaccess problems.


  • Revised template tags so the description tags are run through wpautop(), and added _raw versions which are not.
  • Fixed a bug in URL generation so that URLs with ports are correctly constructed.
  • Fixed a bug iin Print output which did not allow restriction to multiple categories
  • Added option to use {date} in previous/next navigation links to indicate what date set is being navigated to.


  • I made a truly bone-headed error in the last update, and I'm not even going to say what. If you didn't notice it, lucky for you!


  • In my rush to fix the security issue, I broke an aspect of the event navigation. Apologies for this! Now fixed.


  • Incorrectly called wp_kses(). Apologies for the frequent updates!


  • Critical security update. Please upgrade promptly. Big thank you to Dean Batha for the bug report.


  • Bug fix: undeclared array in widget manager
  • Renamed overly-generic constant.


  • New feature: option to link dates in mini calendar to separate daily view instead of pop-up.
  • New feature: no longer necessary to manually edit behaviors in order to open main calendar event titles to separate page.
  • New feature: Ability to define grouped events as a single multi-day event and remove duplicates from events lists (upcoming events and today's events widgets)
  • New feature: group-association classes assigned to multi-day events in grid display.
  • New template tags: {daterange} and {multidate} for displaying a beginning and ending date range for a single event and for displaying each date in a multi-day event, respectively.
  • Week-view calendar caption now editable.
  • Added printable version.
  • Submit buttons in forms are now duplicated at top and bottom of long editing sections, to improve usability.
  • Minor style change to group editor to avoid group list colliding with editor textarea.
  • Removed angle brackets from Previous/Next events links.
  • Added custom action hooks for event save and event delete
  • Added ability to prevent today's events from showing up in upcoming events listings.
  • Added categories to iCal output.
  • iCal should return times in local time, not in UTC.
  • Bug fix: iCal output not correctly encoded
  • Bug fix: mc_next_link filter did not exist.
  • Bug fix: placed limit on maximum size of cached calendar data.
  • Bug fix: Upcoming events list will no longer occasionally display more items than expected.
  • Bug fix: menu icon not aware of custom content locations


  • This is just a convenience update due to a warning appearing in 1.9.7 that I missed.


  • Cache was not cleared when events were approved, rejected, or deleted.
  • Fixed bug with slashed characters in time and date formats
  • Fixed bug where previous/next links did not work on category pages
  • Fixed bug where event description was deleted if edited in groups manager.
  • Easydrag.js now respects conditional loading by page ID.
  • Small change to upcoming events list: events with an end time specifie and not crossing days will move off the list after they end rather than after they start.


  • Fixed bug in Event Manager where information about whether an event was open for registration saved incorrectly.
  • Added raw details_link template tag.
  • Fixed Google Maps link error when using Long/Lat coordinates.
  • Associated image option was not available if HTML editor was enabled.


  • Bug fix: Caching of Today's events did not account for category limits
  • Bug fix: Upcoming events listed by day duplication


  • Bug fix: month-by-day recurring events in upcoming events list
  • Bug fix: duplication of events in upcoming events list
  • Bug fix: when editing a single event with indefinite recurrences, future events set up without continuing recurrence.
  • Function error when data not present fixed.
  • Added display of sending name/address for support messages


  • Stylesheet saving can write longer files. Solves problem with occasional truncation of stylesheets.
  • Added transient caching for calendar events to improve performance, plus other various performance improvements
  • Small html output change.
  • 1.9.0 made details boxes draggable; made this optional.
  • Added plug-in support request form.
  • Added updated French translation to 1.9.2
  • Fixed bug with date switcher duplicating/skipping months.
  • Updated User's Guide (not included with plug-in)


  • Bug fix: Fixed sort error returned by calendar if no events are in array.
  • Bug fix: Fixed incorrect URLs for icons in custom directory in category key.
  • Bug fix: Caption text did not display.
  • Added {date} and {time} to details link text templating.
  • Bug fix: Fixed {icon} URL in template output.
  • Bug fix: Fixed bug with table layout of dates when weekends are disabled on grid calendar.
  • Bug fix: Fixed bug with generation of details link when not using permalinks.
  • Bug fix: Fixed bug with HTML editor converting HTML entities.
  • Bug fix: Fixed bug where weekly view showed the wrong dates if the current week started in the previous month.


  • Bug fix: Incorrect title template tag auto-generated if title template is empty.
  • Bug fix: Create events permissions broken
  • Bug fix: Host list broken in WordPress versions lower than 3.1
  • Bug fix: My Calendar not using WordPress defaults for customizable date and time settings if not set by user.
  • Bug fix: Turning off calendar icons did not turn off icons in key
  • Bug fix: details links used current URL instead of stored URL
  • Bug fix: default widget settings not loaded on upgrade.
  • Bug fix: next/previous links not working on home page if permalinks not set.
  • Bug fix: event title shown in date field in list mode was not for the first event of the day.
  • Style change: Minor change to my-calendar.css to adjust for the green background on weekends. (Which showed up as the result of a fix to an HTML problem in 1.8.9.)
  • Bug fix/Option add: Added option to remove individual iCal link
  • Option add: Added option to conceal first event title/number of events with date in list mode.



  • template editing for list, grid, mini, and single event output.
  • pop-up box is now draggable.
  • date format option for grid mode, week view.
  • templating for details link text.
  • templating for event URL link text.
  • location filtering from shortcode.
  • image upload option for events
  • day class to calendar date headings and cells
  • individual instances of repeating events can be edited
  • feature to add multiple occurrences of an event simultaneously. (concept from Dave Heitzman)
  • feature to mass edit information for groups of events (concept from Dave Heitzman)
  • stored URL for locations (contrib by John Colvin)
  • recurring daily events on weekdays only (based on contrib by John Colvin)
  • optional templating for all event output formats
  • individual event occurrence iCal export
  • numerous additional template tags
  • Option to use custom location filter fields as data control
  • Shortcode to generate list of saved locations
  • Network administrators can control whether sub-site calendars contribute only to a central calendar, only to their own calendar, or whether site administrators can make that choice.
  • Upgrade notice information in dashboard for future upgrades.
  • implementation of WordPress text diff to compare your styles and scripts against my current released versions
  • Option to skip a defined number of events in upcoming events lists.

Bug fixes:

  • jump box was displaying in week/grid view.
  • some potentially repeatable IDs (code validation).
  • 'Administrators see all options' did not work.
  • Fixed timestamps on main calendar objects
  • Squashed e_notice errors.
  • category limiting did not work without permalinks due to GET variable conflict with WordPress core
  • Missing nonce in database upgrade routine
  • Mini calendar simultaneously displayed single event view when visited.
  • Link generation for details view did not work if calendar link parameterized
  • Issue with weekdays only calendar if day of week set to start on Sunday
  • Issue with retrieval of user-specific settings
  • Issue with accessing styles and javascript if My Calendar installed in non-standard directory.
  • Problem in Today's Events widget when Holiday restrictions are enabled.


  • replaced all default icons with 24-bit transparent PNGs
  • jumpbox output to automatically scope to the oldest dates in the database.
  • iCal output changed to output all events for complete current month
  • RSS output to prioritze newly added events
  • holiday skipping/fifth week customization moved into event manager function
  • new 'close' icon for pop-up box; added close icon and scripting to mini calendar pop-up
  • copy in several places; updated template tags.
  • location lists sorted by location label (contrib by John Colvin)
  • Eliminated calendar heading option
  • default style resets no longer stored in global variables, instead stored as files.
  • Map links now trigger the driving directions dialog in Google Maps
  • New default stylesheet, refresh.css


  • Fixed bug with database upgrade in multi-user additional calendars
  • Fixed bug where calendar picked up current month labeling using current day of the month
  • Added French translation


  • Fixed bug in locations filtering that disabled feature if user not logged in.
  • Re-arranged settings and added notices about options which will be removed in a future release.
  • Revised RSS feed to use event permalinks when they are available.


  • One very minor change in 1.8.6 caused some plug-in conflicts, so I rolled that change back. Will find another solution to the problem it solved. This change affects very few users.


  • Fixed bug with {details} template tag when Upcoming widgets configured as Events
  • Location and category filters now do not display forms/lists if there isn't more than one choice.
  • Extended details link feature to main calendar output and added to output options.
  • Minor changes to time-entry jQuery plug-in to improve usability.
  • Updated Japanese translation to 1.8.5
  • Added Russian translation to 1.8.5


  • Another bug fix to monthly-by-day recurrence.
  • Fixed minor problem with default template not being visible in widget.
  • Fixed 'widget title linked' bug.
  • Added Turkish translation by Mehmet Ko&231;ali


  • Mini calendar widget had a mis-labeled option field
  • Custom User settings for event region didn't function correctly.
  • A variety of bug fixes applied to events repeating on a monthly-by-day basis


  • Turned on spam flag toggle, which I had commented out and failed to restore...
  • Default return false ('not spam') for privileged users when checking Akismet


  • Fixed bug with {icon} template tag, for real.
  • Fixed RSS missing argument
  • Fixed empty list rendering in upcoming events widget


  • Fixed bug with region saving on edit of location
  • Fixed bug with single-event view receiving date as array
  • Fixed bug with {icon} template tag
  • Fixed bug with calendar output if user settings are enabled but not applied by user
  • Fixed bug with list/grid format toggle
  • Fixed bug with upcoming events limited by category names


  • Added event region as a location field
  • Added time selector and altered calendar range selector.
  • Added visual editor for event description textarea.
  • Added templating tag to add a link to the single event view.
  • Added option to not display weekends in grid format.
  • Added unique ID for each event in calendar.
  • Added default sort order option for admin events list.
  • Added admin events list to screen while editing or copying event.
  • Added shortcode generator for Page and Post editor.
  • Added spam protection: New events are now checked through Akismet if installed and configured.
  • Added category selection shortcode.
  • Added mini calendar widget.
  • Added external link class.
  • Added list/grid view toggle.
  • Added mobile detection so mobile devices receive list format without JavaScript for easier reading.
  • Added Upcoming Events widget sort order option.
  • Added Option to link widget title to main calendar page.
  • Change: Minor reorganization of settings page.
  • Change: Altered time input to use non-military format time, added JavaScript time input.
  • Change: Moved My Calendar menu items into the content menu.
  • Change: When calendar is limited by categories, only the displayed categories are listed in the category key.
  • Change: If widget title is left blank, widget will have no title.
  • Change: Moved translation files into a subdirectory (/lang/)
  • Bug fix: hcal dates
  • Bug fix: problem where restoring styles referenced out of date styles
  • Bug fix: error in primary stylesheet
  • Bug fix: issue with month-by-day recurring events when recurrance set at 0
  • Bug fix: issue with end dates when recurrance set at 0
  • Bug fix: DB installed to match WPDB chararacter set and collation.
  • Bug fix: turn-of-year page navigation in week view.
  • Bug fix: entries not remembered in error condition post
  • Updated German Translation to version 1.7.0 (Christopher Schauer)
  • Updated German Translation to version 1.7.8 (Uwe Jonas)
  • Note: during this update cycle, I received two German translations, and am using the most up to date version.
  • Added Swedish Translation to version 1.7.8


  • Bug fix: Behaviors page limits lost on settings refresh
  • Bug fix: Fix {enddate} shortcode output.
  • Bug fix: iCal output improvements
  • Modification: RSS and iCal output are disabled entirely when turned off, rather than just hidden.
  • Modification: Added styles for days out of current month


  • Bug fix: Upcoming Events widget fault in 'dates' mode.


  • Bug fix: Upcoming Events widget in days mode was not offsetting time using GMT reference. (Committed silently in 1.7.5)
  • Bug fix: Default template not rendered in Today's Events when template left blank
  • Bug fix: Slashes not stripped in category key.
  • Bug fix: Upcoming Events widget if no upcoming events
  • Bug fix: Error with retrieval of Author's ID
  • Fixed some non-translatable text strings
  • Logic change: Upcoming Events now bases choice on time rather than date (events happening later today are future, rather than only events happening tomorrow or later.)
  • Enhancement: respects custom wp-content location definitions


  • Bug fix: Error with upcoming events when selected by dates and holiday skipping enabled.
  • Bug fix: Upcoming Events widget title defaulted to 'Today's Events'
  • Change: Reversed order of Latitude/Longitude on forms to match Google's implementation.


  • Bug fix: Upcoming events templates ran htmlentities on output


  • Bug fix: upcoming events substitute text still not appearing in some contexts.
  • Bug fix: Today's event substitute text had assignment in place of comparison
  • Bug fix: Event location not saved properly on edit if Location Fields are disabled on input
  • Bug fix: Fixed date and time issues in iCal output
  • Bug fix: Fixed character set issue in RSS output
  • Bug fix: Major problem with Holiday category event delimiting
  • Danish translation updated to 1.7.0
  • Japanese translation updated to 1.7.1
  • Minor documentation and readme.txt updates
  • Added additional fallback settings for widgets
  • Fixed minor installation issue with version detection.
  • Added CSS hook .nextmonth on dates occurring past the end of the currently displayed month.
  • Added check for '#' symbol on hex colors in category management.


  • Bug fix: Fixed import from Calendar feature.
  • Bug fixed: Upcoming events widget default text fixed
  • Italian translation updated to 1.7.0


  • Default setting for custom user location type not set
  • Reset for inherit.css styles missing
  • Widget shortcodes stripped HTML
  • Added a fallback function for exif_imagetype 'cuz some servers don't have it available by default.
  • Nonce missing in database upgrade
  • Ability to edit text for shortcode fallback (No events text) lost.
  • Widget defaults not installed on new installation
  • Mini and List jQuery did not prevent default link action
  • Changed install action to default User settings to off.


  • Fix in AJAX navigation for IE
  • Fix in JavaScript to re-activate close button
  • Fixed bug with locations list not registering current location type in form mode
  • Fixed bug with upcoming events and today's events output when regions limits were set
  • Fixed bug with upcoming events producing incorrect dates for events recurring on a specific day of the month.
  • Revision of Widgeting setup to offer multi-widget support (will require you to re-setup your widgets)
  • Revision of style editor to use external stylesheets.
  • Revision of style support to add option for custom stylesheets stored outside of plugin directory
  • Added: multiple base stylesheets
  • Added: Event markup in hCal format
  • Added Weekly mode for list and grid view
  • Added RSS and iCal exports for upcoming events (enable and disable in settings)
  • Added option to block display of an event if there is an event that day which is in a designated 'Holiday' category.
  • Added permission setting to allow non-administrators to edit or delete any event.
  • Added Czech translation (to 1.6.3)
  • Updated Italian and Danish translations
  • Security: Implemented nonces


  • Updated jQuery to fix conflicts in previous versions and so behaviors would work with AJAX navigation. Not updated by upgrade; use Behaviors reset to apply.
  • Incorporated option to enable AJAX navigation for next/previous navigation.
  • Fixed bug with multi-month display in list format where January could not be displayed.
  • Revised settings page for clarity.
  • Fixed some default settings issues.
  • Fixed a bug where the locations lists didn't respect the datatype parameter.
  • Added templating to event titles for calendar grid or list output.


  • Fixed broken style editor. (The way it was broken was awfully weird...kinda wonder how I did it!)
  • Fixed missing div in calendar list output.
  • Removed debugging call which had been left from testing.
  • Fixed storage of initial settings for user settings (array did not store probably initially.)
  • Added Italian translation by Sabir Musta


  • Bug fix in event saving


  • Feature: User profile defined time zone preference
  • Feature: User profile defined location preference
  • Feature: Define event host as separate from event author
  • Feature: Added ability to hide Prev/Next links as shortcode attribute
  • Change: Separated Style editing from JS editing


  • Fixed: Bug with permissions in event approval process.


  • Fixed: Bug which broke the {category} template tag
  • Fixed: Bug which moved extra parameters before the "?" in URLs
  • Fixed: Bug which produced an incorrect date with day/month recurring events on dates with no remainder
  • Added: Japanese translation by Daisuke Abe


  • Fixed: Bug where event data wasn't remembered if an error was triggered on submission.


  • Fixed: Bug where events recurring monthly by days appeared on wrong date when month begins on Sunday.
  • Fixed: Bug where events recurring monthly by days appeared on dates prior to the scheduled event start.
  • Performance improvement: Added SQL join to incorporate category data in event object
  • Added quicktag to provide access to category color and icon in widget templates
  • Changed link expiration to be associated with the end date of events rather than the beginning date.
  • Updated readme plugin description, help files, and screenshots.


  • Added: German translation.
  • Updated: Danish translation.
  • Added: Administrator notification by email feature [Contributions by Roland]
  • Added: Reservations and Approval system for events. [Contributions by Roland]
  • Added: Events can be recurring on x day of month, e.g. 3rd Monday of the month.


  • Fixed: Failed to increment internal version pointer in previous version.
  • Fixed: Invalid styles created if category color set to default.
  • Fixed: (Performance) Default calendar view attempted to select invalid category.
  • Updated: Danish translation.


  • Fixed: Bug where location edits couldn't be saved if location fields were on and dropdown was off
  • Fixed: Bug where latitude and longitude were switched on Google Maps links
  • Fixed: Bug where map link would not be provided if no location data was entered except Lat/Long coordinates.


  • Added: Ability to copy events to create a new instance of that event
  • Added: Customization of which input elements are visible separate from what output is shown.
  • Fixed: Issue where one JS element could not be fully disabled
  • Fixed: Internationalization fault with Today's Events showing events from previous day
  • Fixed some assorted text errors and missing internationalization strings.
  • Fixed issue where the 'Help' link was added to all plug-in listings.
  • Reorganized settings page UI.


  • Fixed: Bug where infinitely recurring events whose first occurrence was in the future were not rendered in upcoming events
  • Fixed: Bug where infinitely recurring bi-weekly events only rendered their first event in calendar view
  • Added: Option to indicate whether registration for an event is open or closed, with customizable text.
  • Added: Option to supply a short description alternative to the full description.


  • Fixed: Flash of unstyled content prevention scripts weren't disabled when other scripting was disabled.
  • Fixed: Categories which started with numerals couldn't have custom styles.
  • Fixed: Locations required valid 0 float value to save records on some servers; now supplied by default.


  • Fixed a bug with editing and adding locations
  • Fixed a bug with error messages when adding categories
  • Fixed a bug with identification of current day (again?)
  • Added Danish translation (Thanks to Jakob Smith)


  • Fixed a bug where event end times tags were not rendered when blank in widget templates
  • Fixed a bug with event adding and updating for Windows IIS
  • Fixed a bug with international characters
  • Reduced number of SQL queries made.
  • Moved JavaScript output to footer.
  • Improved error messages.
  • Significant edits to basic codebase to improve efficiency.
  • Fixed bug where full default styles didn't initially load on new installs.
  • Re-organized default styles to make it easier for users to customize colors.


  • Fixed a bug where event end times were displaying the start time instead when editing.
  • Fixed a bug introduced by the mini calendar option which displayed titles twice in list format.
  • Fixed a bunch of typ

Requires: 3.4.2 or higher
Compatible up to: 3.9.1
Last Updated: 2014-6-17
Downloads: 381,877


4 stars
4.4 out of 5 stars


10 of 17 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

2 people say it works.
0 people say it's broken.

100,3,3 100,5,5 50,2,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 0,1,0 100,2,2 100,2,2 100,1,1 0,1,0
100,1,1 100,6,6 100,1,1 50,2,1 100,2,2 100,1,1 100,1,1 100,1,1 100,2,2 100,3,3 100,3,3 100,1,1 100,7,7
100,1,1 100,1,1
100,2,2 50,2,1 100,1,1
0,1,0 100,1,1 100,2,2
0,1,0 100,1,1 100,1,1 100,1,1
100,1,1 50,2,1 100,1,1 0,1,0 50,4,2 100,1,1 100,1,1 100,1,1 100,2,2 100,6,6 100,1,1 0,1,0
100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
57,7,4 50,4,2 100,6,6 80,5,4 50,2,1 100,1,1 100,4,4 100,3,3 100,1,1
100,1,1 100,1,1 100,2,2 100,1,1 100,4,4
100,3,3 50,2,1 100,3,3 100,1,1 88,8,7 100,1,1 100,2,2 100,1,1 100,1,1 100,2,2 100,1,1 67,3,2 100,3,3 100,1,1
100,3,3 100,1,1 67,3,2 100,4,4
100,2,2 100,1,1
83,6,5 100,1,1 0,1,0
100,1,1 100,1,1 75,4,3 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 67,3,2 100,1,1 100,2,2 100,1,1 100,1,1
100,3,3 100,2,2
100,2,2 100,2,2 100,1,1 100,3,3 100,1,1 100,1,1
50,2,1 100,1,1 100,1,1 50,2,1 100,2,2
100,2,2 100,1,1 100,1,1
100,2,2 100,1,1 100,2,2
100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,2,2 100,1,1
100,2,2 100,2,2