Events Calendar Pro 5.0.0

Events Calendar Pro 5.0.0 has officially released!  We packed a lot of awesomeness in here, which is why we decided to bump the version up to 5.0. This really is a big landmark and we think you’ll love it.

The big headline is that all of the views in Events Calendar Pro got a total redesign. That’s right, week view, map view and photo view all got a fresh round of design that make the calendar look more modern and fresh right out of the box than ever before! Since this is a big release, we do recommend backing up your site before performing any updates. That’s especially true if you have made customizations to your calendar, because those could be lost on update without properly test first.


Let’s get to the changelogs:

  • Feature: We have created compatibility with the new 5.0 views from The Events Calendar.
  • Feature: We have created new Week, Photo, and Map views with all new HTML, CSS, and JavaScript.
  • Feature: We have added an upgraded path for new Week, Photo, and Map views making it opt-in for any existing users.
  • Feature: We have a new templating engine in place to power the new Views.
  • Feature: Views initialization and instance now includes more filters and actions to allow improved extensibility and customization. (See all filters below)
  • Feature: Views manager and bootstrapping classes were created to allow more control over where and when views will be initialized. Filters related to this are also listed below.
  • Feature: We have reduced the maintenance burden of customizations by leveraging atomic templates for the new views. (See list of files now available below)
  • Feature: Our CSS now uses a Block Element Modifier (BEM) methodology to improve the reusability of components.
  • Feature: The new views share one JavaScript Manager, which contains multiple jQuery actions and customization points.
  • Feature: View navigation relies on the WordPress Rest API, improving reliability and caching opportunities.
  • Feature: Event permalinks are now more consistent across navigation using WP_Rewrite to map parameters to their matching URL, which improves SEO.
  • Feature: The following event data filtering is used across all new views: tribe_get_event_before, tribe_get_event, tribe_get_event_after, tribe_events_organizers_fetch_callback, tribe_events_venues_fetch_callback
  • Feature: The following venue data filtering is used across all new views: tribe_get_venue_object_before, tribe_get_venue_object
  • Tweak: Custom Before and After HTML on the Events > Settings page will now use event view styling over the Theme’s CSS.
  • Tweak: We have lowered the reliance on the global $wp_query to create more consistent output and faster maintenance.
  • Tweak: The template overrides for the new views will look within a new folder in your theme to avoid conflicting with old The Events Calendar theme customizations.
  • Tweak: The rewrite rules will be flushed on plugin activation so we can have the URLs already working once the plugin is activated/reactivated.
  • Tweak: We made a switch to a compact date while on day and month view in mobile, for better visibility.
  • Fix: We ensure that the List Widget displays the month instead of the day for events in the current month of the following year.
  • Fix: We make sure all dependency notices on the WordPress admin show when appropriate circumstances are met with Event Tickets and The Events Calendar.
  • Hooks: View template includes and render filters and actions: tribe_template_before_include, tribe_template_before_include:{$template_path}, tribe_template_after_include, tribe_template_after_include:{$template_path}, tribe_template_html, tribe_template_html:{$template_path}
  • Hooks: View instance filters and actions: tribe_events_views_v2_view_template, tribe_events_views_v2_{$view_slug}_view_template, tribe_events_views_v2_view_context, tribe_events_views_v2_{$view_slug}_view_context, tribe_events_views_v2_view_repository, tribe_events_views_v2_{$view_slug}_view_repository, tribe_events_views_v2_view_url_query_args, tribe_events_views_v2_{$view_slug}_view_url_query_args, tribe_events_views_v2_view_html_classes, tribe_events_views_v2_{$view_slug}_view_html_classes, tribe_events_views_v2_url_query_args, tribe_events_views_v2_view_template_vars, tribe_events_views_v2_view_{$view_slug}_template_vars, tribe_events_views_v2_view_url, tribe_events_views_v2_view_{$view_slug}_url, tribe_events_views_v2_view_prev_url, tribe_events_views_v2_view_{$view_slug}_prev_url, tribe_events_views_v2_view_next_url, tribe_events_views_v2_view_{$view_slug}_next_url, tribe_events_views_v2_view_repository_args, tribe_events_views_v2_view_link_label_format, tribe_events_views_v2_view_{$view_slug}_link_label_format, tribe_events_views_v2_view_title, tribe_events_views_v2_view_{$view_slug}_title, tribe_events_views_v2_view_messages, tribe_events_views_v2_view_{$view_slug}_messages, tribe_events_views_v2_view_breadcrumbs, tribe_events_views_v2_view_{$view_slug}_breadcrumbs, tribe_events_views_v2_view_display_events_bar, tribe_events_views_v2_view_{$view_slug}_display_events_bar, tribe_events_views_v2_view_ical_data, tribe_events_views_v2_view_{$view_slug}_ical_data, tribe_events_views_v2_view_show_datepicker_submit, tribe_events_views_v2_view_{$view_slug}_show_datepicker_submit, tribe_events_views_v2_view_public_views, tribe_events_views_v2_view_{$view_slug}_public_views, tribe_events_views_v2_view_data, tribe_events_views_v2_{$view_slug}_view_data, tribe_events_views_v2_{$view_slug}_events_per_day, tribe_events_views_v2_month_events_per_day, tribe_events_views_v2_month_nav_skip_empty, tribe_events_views_v2_view_breakpoints, tribe_events_views_v2_view_{$view_slug}_breakpoints, tribe_events_views_v2_before_make_view, tribe_events_views_v2_after_make_view, tribe_events_views_v2_messages_map, tribe_events_views_v2_view_messages_before_render
  • Hooks: View REST API HTML request actions and filters: tribe_events_views_v2_request_arguments, tribe_events_views_v2_rest_endpoint_available, tribe_events_views_v2_rest_params, tribe_events_views_v2_{$view_slug}_rest_params
  • Hooks: Views Bootstrap filters and actions: tribe_events_views_v2_bootstrap_pre_get_view_html, tribe_events_views_v2_bootstrap_should_display_single, tribe_events_views_v2_bootstrap_view_slug, tribe_events_views_v2_bootstrap_pre_should_load, tribe_events_views_v2_should_hijack_page_template
  • Hooks: Views Manager filters and actions: tribe_events_views, tribe_events_views_v2_manager_default_view, tribe_events_views_v2_manager_view_label_domain, tribe_events_views_v2_manager_{$view_slug}_view_label_domain, tribe_events_views_v2_manager_view_label, tribe_events_views_v2_manager_{$view_slug}_view_label
  • Hooks: Other views filters and actions: tribe_events_views_v2_is_enabled, tribe_events_views_v2_assets_should_enqueue_frontend, tribe_events_views_v2_assets_should_enqueue_full_styles, tribe_events_v2_view_title, tribe_events_views_v2_should_replace_excerpt_more_link, tribe_events_views_v2_view_before_events_html, tribe_events_views_v2_view_after_events_html, tribe_events_views_v2_month_title, tribe_events_views_v2_day_title, tribe_events_views_v2_category_title, tribe_events_views_v2_theme_compatibility_registered, tribe_events_views_v2_stack_spacer, tribe_events_views_v2_stack_recycle_spaces, tribe_events_views_v2_stack_events, tribe_events_views_v2_stack_filter_event, tribe_events_views_v2_stack_normalize
  • Hooks: Shortcodes for new views filters and actions: tribe_events_pro_geocode_rewrite_rules, tribe_events_pro_views_v2_assets_should_enqueue_frontend, tribe_events_pro_views_v2_geo_location_service, tribe_events_pro_views_v2_geo_location_handler, tribe_events_pro_shortcodes, tribe_events_pro_shortcode_validate_arguments_map, tribe_events_pro_shortcode_{$registration_slug}_validate_arguments_map, tribe_events_pro_shortcode_arguments, tribe_events_pro_shortcode_{$registration_slug}_arguments, tribe_events_pro_shortcode_argument, tribe_events_pro_shortcode_{$registration_slug}_argument, tribe_events_pro_shortcode_default_arguments, tribe_events_pro_shortcode_{$registration_slug}_default_arguments, tribe_events_pro_shortcode_tribe_events_manage_url_disallowed_locations, tribe_events_pro_shortcode_tribe_events_should_manage_url
  • Templates: Views refactored template files: `v2/day/event/recurring`, `v2/list/event/recurring`, `v2/location/form-field`, `v2/map`, `v2/map/event-cards`, `v2/map/event-cards/event-card`, `v2/map/event-cards/event-card/actions`, `v2/map/event-cards/event-card/actions/cost-spacer`, `v2/map/event-cards/event-card/actions/cost`, `v2/map/event-cards/event-card/actions/details-spacer`, `v2/map/event-cards/event-card/actions/details`, `v2/map/event-cards/event-card/actions/directions-spacer`, `v2/map/event-cards/event-card/actions/directions`, `v2/map/event-cards/event-card/date-tag`, `v2/map/event-cards/event-card/event`, `v2/map/event-cards/event-card/event/date-time`, `v2/map/event-cards/event-card/event/distance`, `v2/map/event-cards/event-card/event/featured-image`, `v2/map/event-cards/event-card/event/title`, `v2/map/event-cards/event-card/event/venue`, `v2/map/event-cards/event-card/tooltip`, `v2/map/event-cards/event-card/tooltip/date-time`, `v2/map/event-cards/event-card/tooltip/navigation`, `v2/map/event-cards/event-card/tooltip/title`, `v2/map/event-cards/event-card/tooltip/venue`, `v2/map/event-cards/nav`, `v2/map/event-cards/nav/next-disabled`, `v2/map/event-cards/nav/next`, `v2/map/event-cards/nav/prev-disabled`, `v2/map/event-cards/nav/prev`, `v2/map/event-cards/nav/today`, `v2/map/map`, `v2/map/map/google-maps`, `v2/map/map/google-maps/default`, `v2/map/map/google-maps/premium`, `v2/map/map/no-venue-modal`, `v2/map/top-bar`, `v2/map/top-bar/datepicker`, `v2/month/calendar-event/recurring`, `v2/month/calendar-event/tooltip/recurring`, `v2/month/mobile-event/recurring`, `v2/organizer/meta`, `v2/organizer/meta/content`, `v2/organizer/meta/details`, `v2/organizer/meta/details/email`, `v2/organizer/meta/details/phone`, `v2/organizer/meta/details/website`, `v2/organizer/meta/title`, `v2/photo`, `v2/photo/event`, `v2/photo/event/cost`, `v2/photo/event/date-tag`, `v2/photo/event/date-time`, `v2/photo/event/featured-image`, `v2/photo/event/title`, `v2/photo/nav`, `v2/photo/nav/next-disabled`, `v2/photo/nav/next`, `v2/photo/nav/prev-disabled`, `v2/photo/nav/prev`, `v2/photo/nav/today`, `v2/photo/top-bar`, `v2/photo/top-bar/datepicker`, `v2/recurrence/hide-recurring`, `v2/venue/meta`, `v2/venue/meta/content`, `v2/venue/meta/details`, `v2/venue/meta/details/address`, `v2/venue/meta/details/phone`, `v2/venue/meta/details/website`, `v2/venue/meta/map`, `v2/venue/meta/title`, `v2/week`, `v2/week/day-selector`, `v2/week/day-selector/days`, `v2/week/day-selector/days/day`, `v2/week/day-selector/nav`, `v2/week/day-selector/nav/next`, `v2/week/day-selector/nav/prev`, `v2/week/grid-body`, `v2/week/grid-body/events-day`, `v2/week/grid-body/events-day/event`, `v2/week/grid-body/events-day/event/date`, `v2/week/grid-body/events-day/event/featured-image`, `v2/week/grid-body/events-day/event/title`, `v2/week/grid-body/events-day/event/tooltip`, `v2/week/grid-body/events-day/event/tooltip/cost`, `v2/week/grid-body/events-day/event/tooltip/date`, `v2/week/grid-body/events-day/event/tooltip/description`, `v2/week/grid-body/events-day/event/tooltip/featured-image`, `v2/week/grid-body/events-day/event/tooltip/title`, `v2/week/grid-body/events-row-header`, `v2/week/grid-body/multiday-events-day`, `v2/week/grid-body/multiday-events-day/more-events`, `v2/week/grid-body/multiday-events-day/multiday-event-spacer`, `v2/week/grid-body/multiday-events-day/multiday-event`, `v2/week/grid-body/multiday-events-row-header`, `v2/week/grid-body/multiday-events-row-header/multiday-events-row-header-toggle`, `v2/week/grid-header`, `v2/week/grid-header/header-column`, `v2/week/mobile-events`, `v2/week/mobile-events/day`, `v2/week/mobile-events/day/event`, `v2/week/mobile-events/day/event/cost`, `v2/week/mobile-events/day/event/date`, `v2/week/mobile-events/day/event/featured-image`, `v2/week/mobile-events/day/event/title`, `v2/week/mobile-events/day/event/venue`, `v2/week/mobile-events/day/time-separator`, `v2/week/mobile-events/day/type-separator`, `v2/week/mobile-events/nav`, `v2/week/mobile-events/nav/next-disabled`, `v2/week/mobile-events/nav/next`, `v2/week/mobile-events/nav/prev-disabled`, `v2/week/mobile-events/nav/prev`, `v2/week/mobile-events/nav/today`, `v2/week/top-bar`, `v2/week/top-bar/datepicker`
  • Language: 4 new strings added, 107 updated, 0 fuzzied, and 0 obsoleted