The Events Calendar: #1 calendar plugin for WordPress. Create/manage events (virtual too!) on your site with the free plugin.
Easily create and manage an events calendar on your WordPress site with The Events Calendar free plugin. Whether your events are in-person or virtual events, this WordPress calendar plugin boasts professional features backed by our world-class team of developers and designers.
See more videos on our YouTube channel
Packed with loads of features, The Events Calendar is ready to go out of the box. It’s also extensible, easy to use, and completely customizable.
See the calendar in action on our demo experience. Just getting started? Read through the New User Primer to get set up.
Looking for additional features like recurring events, ticket sales, user-submitted events, automatic imports, and more?
Check out Events Calendar Pro, Event Aggregator, and more add-ons.
The Events Calendar is built to work out of the box. Simply install the plugin, configure your settings, and start creating events in minutes.
Want to add your personal touch? Use The Events Calendar as the foundation for customization. Personalize to your heart’s content with the help of a skeleton stylesheet, partial template overrides, template tags, hooks and filters, careful documentation, and a library of free extensions.
Whether your vision is big or small, you’re in good company. Hundreds of thousands of small businesses, musicians, venues, restaurants, and non-profits are publishing and promoting their in-person and virtual events with The Events Calendar. Our plugins have also been scaled to work on large networks for Fortune 100 companies, universities, and government institutions.
Our feature-rich plugin comes with everything you need to create and manage your calendar.
✔️ Rapidly create events
✔️ Saved venues & organizers
✔️ Calendar month view with tooltips
✔️ Event List view
✔️ Day view
✔️ Block Editor support
✔️ Event search
✔️ Google maps
✔️ Widget: Upcoming events list
✔️ Events Taxonomies (Categories & Tags)
✔️ Google Calendar and iCal exporting
✔️ WP REST API endpoints
✔️ Completely ajaxified for super smooth browsing
✔️ Completely responsive from mobile to tablet to desktop
✔️ Tested on the major theme frameworks such as Avada, Divi, Enfold, Genesis, and many more.
✔️ Increase your SEO with JSON-LD Structured Data
✔️ Internationalized & translated
✔️ Multiple stylesheets to improve integration
✔️ Extensive template tags for customization
✔️ Hooks & filters galore
✔️ Caching support
✔️ Debug mode for developers
✔️ Library of extensions
All of our documentation can be found in our Knowledgebase.
Additional helpful links:
If you have any questions about this plugin, you can post a thread in the WordPress.org forum. Please search existing threads before starting a new one.
Take your calendar to the next level by pairing it with our plugins for ticketing, crowdsourcing, email marketing, and more. Learn more about all our products on our website.
Our Free Plugins:
🎟️ Event Tickets
📐 Advanced Post Manager
Our Premium Plugins and Services:
⚡ Events Calendar PRO
↪️ Event Aggregator (service)
🎟️ Event Tickets Plus
📱 Event Tickets Wallet Plus
✉️ Promoter
👥 Community Events
🎟️ Community Tickets
✏️ Filter Bar
🗓️ Eventbrite Tickets
📡 Virtual Events
🔄 Event Automator
If you aren’t familiar with The Events Calendar, check out our New User Primer. It will have you creating events in no time.
Ready to dig deeper? Check out these resources:
We check in on the The Events Calendar forum here on WordPress.org about once a week to help users with basic troubleshooting and identifying bugs. If you’re looking for premium, personalized support, consider upgrading to Events Calendar Pro.
Still have a question? Shoot us an email at [email protected].
Installing the plugin is easy. Just follow one of the following methods:
That’s it! Just configure your settings as you see fit, and you’re on your way to creating events in style. Need help getting things started? Check out our new user primer for help with settings and features.
First, make sure that you’re running the latest version of The Events Calendar. If you’re running Events Calendar PRO or any other add-ons, make sure those are current / running the latest code as well.
The most common issues we see are either plugin or theme conflicts. You can test if a plugin or theme is conflicting by manually deactivating other plugins until just The Events Calendar is running on your site. If the issue persists from there, revert to the default Twenty Twenty theme. If the issue is resolved after deactivating a specific plugin or your theme, you’ll know that is the source of the conflict.
Note that we aren’t going to say “tough luck” if you identify a plugin/theme conflict. While we can’t guarantee 100% integration with any plugin or theme out there, we will do our best (and reach out the plugin/theme author as needed) to figure out a solution that benefits everyone.
Users of the free The Events Calendar should post their questions in the plugin’s WordPress.org forum, which we visit about once a week. Please make sure to read our sticky post providing an overview of the support we provide free users BEFORE posting. If you find you’re not getting support in as timely a fashion as you wish, you might want to consider purchasing a license for Events Calendar Pro.
If you’re already an Events Calendar Pro user, you’re entitled access to our actively-monitored Premium Support on our website. We can provide a deeper level of support here and hit these forums on a daily basis during the work week. Generally, except in times of increased support loads, we reply to all tickets within 24-48 hours during the business week.
The Events Calendar is our cornerstone plugin, and it’s required in order to run any of our premium calendar add-ons, including Events Calendar Pro, Community Events, Filter Bar, and others.
In other words, Events Calendar Pro runs alongside The Events Calendar and enhances it with extra features, including recurring events, additional calendar views, calendar shortcodes, advanced widgets, custom event fields and more.
The following add-ons are available for The Events Calendar:
Yes! The Events Calendar has a built-in CSV import tool. If you want to step it up and automatically import events from Google Calendar, Meetup, Eventbrite and more, check out Event Aggregator.
You’ll want to use our Event Tickets plugin for that. This free plugin works alongside The Events Calendar and lets you create RSVPs and tickets for events. Event Tickets integrates with PayPal so you can collect payments for tickets, while our premium solution, Event Tickets Plus fully integrates with WooCommerce or Easy Digital Downloads. If you want to include digital tickets like Apple Wallet passes and PDF tickets check out Event Tickets Wallet Plus.
Unfortunately, no. However, you can use event categories or tags to create calendar views that only display certain events. For example, you could create a direct link to a calendar view that only shows events categorized as “Fitness,” like this example from our demo site.
With Events Calendar Pro, you can use shortcodes to embed your calendar on other WordPress pages and posts, then filter that calendar by category.
This is available with the Community Events add-on to facilitate submissions. Install Community Events alongside The Events Calendar and a page will be added to your WordPress site with a form that visitors can use to submit events. As the calendar owner, you have full control over whether event submissions are published immediately or require moderation first.
If you want to let users sell tickets for the events they submit, check out Community Tickets. It runs with The Events Calendar, Community Events, and Event Tickets and empowers visitors to create and sell tickets, splitting the profits with you.
The Events Calendar is our cornerstone plugin, and it’s required in order to run any of our premium calendar add-ons, including Events Calendar Pro, Community Events, Filter Bar, and others.
In other words, Events Calendar Pro runs alongside The Events Calendar and enhances it with extra features, including recurring events and event Series, additional calendar views, calendar shortcodes, advanced widgets, custom event fields, a duplicate event tool, and more.
We’ve got an ideas page where we’re actively watching for feature ideas from the community. Vote up existing feature requests or add your own, and help us shape our roadmap.
Check out our extensive knowledgebase for articles on using, tweaking, and troubleshooting our plugins.
tec_events_integration_elementor_bypass_template_override
, tec_events_display_settings_toc
, tec_events_general_settings_toc
single-event-blocks
, v2/month/mobile-events/mobile-day/day-marker
@param
and corrected @return
to docblock for filter_display_events_bar()
– credit goes to @IanDelMarTribe\Events\Views\V2\Views\Traits\Breakpoint_Behavior.php
– credit goes to @IanDelMar$ics_filname
to $ics_filename
and $deleteable_statuses_interval
to $deletable_statuses_interval
and $delimter
to `$delimiter. Credit goes to @szepeviktor.tec_events_general_settings_toc
, tec_events_display_settings_toc
.month_multiday_classes
, month_day_classes
, get_before_events_html
, get_after_events_html
, tribe_events_views_v2_month_multiday_classes
and tec_events_month_day_classes_comparison_date
to provide more clarity.tec_views_v2_subscribe_link_visibility
, tec_views_v2_subscribe_link_{$slug}_visibility
, tribe_get_view_permalink()
, tribe_get_basic_gmap_embed_url()
, tribe_event_featured_image()
, tribe_get_map_link()
and tribe_get_map_link_html()
methods and add docblocks for the tribe_events_google_map_link
, tribe_get_map_link
and tribe_get_map_link_html
filters.tec_events_integration_elementor_bypass_template_override
, tec_events_display_settings_toc
, tec_events_general_settings_toc
single-event-blocks
, v2/month/mobile-events/mobile-day/day-marker
regenerator-runtime
. [TECTRIA-149]tec_events_integration_elementor_bypass_template_override
to allow users to bypass the single event template. [TECTRIA-56]tribe_create_venue()
, tribe_create_organizer()
, tribe_create_event()
, tribe_update_event()
, tribe_update_venue()
, tribe_update_organizer()
, tribe_delete_organizer()
and tribe_delete_venue()
docblocks to indicate future deprecation.src/Tribe/Featured_Events/Permalinks_Helper.php
and src/Tribe/Featured_Events/Query_Helper.php
.single-event
tribe_event_delete()
docblock to indicate future deprecation.tec_events_elementor_widgets_registered
[TEC-5091]tec_events_filter_events_template_setting_option
, tec_events_filter_tribe_get_single_option
, tec_events_{$slug}_visibility_is_visible
, tec_events_{$slug}_visibility_is_visible:{$area}
, tec_events_{$slug}_visibility_is_visible:{$area}:{$post_id}
, tec_events_display_remove_event_end_time_options
tribe_events_register_venue_post_type_labels
tec_events_elementor_widgets_registered
single-event/recurring-description
, v2/list/event/featured-image
tec_events_elementor_loaded
date()
to gmdate()
for display in the date settings section. [ECP-1618]tec_events_allow_archive_block_template
, tec_events_allow_single_block_template
, tec_events_elementor_widget_asset_widgets
, tec_events_elementor_built_with_elementor
, tec_events_elementor_registered_{$this->type}
, tec_events_elementor_event_widget_title
, tec_events_elementor_event_{$slug}_widget_title
, tec_events_elementor_event_widget_element_classes
, tec_events_elementor_event_{$slug}_widget_element_classes
, tec_events_elementor_event_widget_class
, tec_events_elementor_event_{$slug}_widget_class
, tec_events_elementor_event_widget_icon_class
, tec_events_elementor_event_{$slug}_widget_icon_class
, tec_events_elementor_widget_event_id
, tec_events_elementor_widget_{$slug}_event_id
, tec_events_elementor_widget_template_data
, tec_events_elementor_widget_{$slug}_template_data
, tec_events_elementor_event_calendar_link_widget_link_text
, tribe_get_event_categories
, tec_events_elementor_event_categories_widget_event_categories_html
, tec_events_elementor_event_category_widget_header_class
, tec_events_elementor_event_category_widget_link_wrapper_class
, tec_events_elementor_event_export_widget_dropdown_class
, tec_events_elementor_event_export_widget_dropdown_button_class
, tec_events_elementor_event_export_widget_dropdown_list_class
, tec_events_elementor_event_export_widget_dropdown_list_item_class
, tec_events_elementor_event_export_widget_dropdown_link_class
, tec_events_elementor_event_export_widget_dropdown_content_class
, tec_events_elementor_event_export_widget_dropdown_icon_class
, tec_events_elementor_event_export_widget_export_icon_class
, tec_events_elementor_event_export_widget_dropdown_gcal_class
, tec_events_elementor_event_export_widget_dropdown_ical_class
, tec_events_elementor_event_export_widget_dropdown_365_class
, tec_events_elementor_event_export_widget_dropdown_live_class
, tec_events_elementor_event_organizer_widget_email_header_text
, tec_events_elementor_event_organizer_widget_phone_header_text
, tec_events_elementor_event_organizer_widget_website_header_text
, tec_events_elementor_event_organizer_header_class
, tec_events_elementor_event_organizer_name_class
, tec_events_elementor_event_organizer_name_wrapper_class
, tec_events_elementor_event_organizer_phone_class
, tec_events_elementor_event_organizer_phone_wrapper_class
, tec_events_elementor_event_organizer_phone_header_class
, tec_events_elementor_event_organizer_email_class
, tec_events_elementor_event_organizer_email_wrapper_class
, tec_events_elementor_event_organizer_email_header_class
, tec_events_elementor_event_organizer_website_class
, tec_events_elementor_event_organizer_website_wrapper_class
, tec_events_elementor_event_organizer_website_header_class
, tec_events_elementor_event_passed_label_text
, tec_events_elementor_event_tags_separator
, tec_events_elementor_event_tags_widget_header_text
, tec_events_elementor_event_tags_header_class
, tec_events_elementor_event_tags_links_class
, tec_events_elementor_event_tags_link_class
, tec_events_elementor_event_venue_widget_header_text
, tec_events_elementor_event_venue_widget_website_header_text
, tec_events_elementor_event_venue_widget_phone_header_text
, tec_events_elementor_event_venue_widget_address_header_text
, tec_events_elementor_event_venue_header_class
, tec_events_elementor_event_venue_name_class
, tec_events_elementor_event_venue_address_class
, tec_events_elementor_event_venue_phone_class
, tec_events_elementor_event_venue_website_class
, tec_events_elementor_event_venue_map_class
, tec_events_elementor_event_website_widget_header_class
, tec_events_elementor_event_website_widget_link_class
, tec_events_elementor_widget_classes
, tec_events_should_display_events_template_setting
tribe_get_venue_website_link_label
tec_events_elementor_register_widget_assets
, tec_events_elementor_enqueue_frontend_assets
, tec_events_elementor_register_editor_styles
, tec_events_elementor_widget_enqueue_style
, tec_events_elementor_widget_{$slug}_enqueue_style
integrations/elementor/templates/blank
, integrations/elementor/templates/starter
, integrations/elementor/widgets/base
, integrations/elementor/widgets/empty
, integrations/elementor/widgets/event-calendar-link
, integrations/elementor/widgets/event-categories
, integrations/elementor/widgets/event-categories/header
, integrations/elementor/widgets/event-cost
, integrations/elementor/widgets/event-cost/header
, integrations/elementor/widgets/event-datetime
, integrations/elementor/widgets/event-datetime/all-day
, integrations/elementor/widgets/event-datetime/end-date
, integrations/elementor/widgets/event-datetime/end-time
, integrations/elementor/widgets/event-datetime/header
, integrations/elementor/widgets/event-datetime/range-separator
, integrations/elementor/widgets/event-datetime/start-date
, integrations/elementor/widgets/event-datetime/start-time
, integrations/elementor/widgets/event-datetime/time-separator
, integrations/elementor/widgets/event-datetime/timezone
, integrations/elementor/widgets/event-export
, integrations/elementor/widgets/event-export/button
, integrations/elementor/widgets/event-export/link
, integrations/elementor/widgets/event-export/list-item
, integrations/elementor/widgets/event-image
, integrations/elementor/widgets/event-navigation
, integrations/elementor/widgets/event-navigation/next
, integrations/elementor/widgets/event-navigation/previous
, integrations/elementor/widgets/event-organizer
, integrations/elementor/widgets/event-organizer/details
, integrations/elementor/widgets/event-organizer/details/email
, integrations/elementor/widgets/event-organizer/details/email/content
, integrations/elementor/widgets/event-organizer/details/email/header
, integrations/elementor/widgets/event-organizer/details/phone
, integrations/elementor/widgets/event-organizer/details/phone/content
, integrations/elementor/widgets/event-organizer/details/phone/header
, integrations/elementor/widgets/event-organizer/details/website
, integrations/elementor/widgets/event-organizer/details/website/content
, integrations/elementor/widgets/event-organizer/details/website/header
, integrations/elementor/widgets/event-organizer/header
, integrations/elementor/widgets/event-organizer/names
, integrations/elementor/widgets/event-status
, integrations/elementor/widgets/event-status/passed
, integrations/elementor/widgets/event-status/status
, integrations/elementor/widgets/event-tags
, integrations/elementor/widgets/event-tags/content
, integrations/elementor/widgets/event-tags/header
, integrations/elementor/widgets/event-title
, integrations/elementor/widgets/event-venue
, integrations/elementor/widgets/event-venue/address
, integrations/elementor/widgets/event-venue/address/address
, integrations/elementor/widgets/event-venue/address/header
, integrations/elementor/widgets/event-venue/address/map_link
, integrations/elementor/widgets/event-venue/header
, integrations/elementor/widgets/event-venue/map
, integrations/elementor/widgets/event-venue/name
, integrations/elementor/widgets/event-venue/phone
, integrations/elementor/widgets/event-venue/phone/header
, integrations/elementor/widgets/event-venue/phone/phone
, integrations/elementor/widgets/event-venue/single-venue
, integrations/elementor/widgets/event-venue/website
, integrations/elementor/widgets/event-venue/website/header
, integrations/elementor/widgets/event-venue/website/website
, integrations/elementor/widgets/event-website
, integrations/elementor/widgets/event-website/header
, integrations/elementor/widgets/event-website/link
, integrations/event-tickets/emails/template-parts/body/event/venue/website
integrations/event-tickets/emails/template-parts/body/event/venue/website
Undefined array key "venue" in /var/www/html/wp-content/plugins/the-events-calendar/src/Tribe/Linked_Posts.php on line 1007
.blocks/classic-event-details
, blocks/event-website
, v2/components/events-bar/views
, v2/components/json-ld-data
, v2/components/subscribe-links/list
, v2/day/top-bar/datepicker
, v2/list/top-bar/datepicker
, v2/month/top-bar/datepicker
tec_tickets_wallet_plus_apple_wallet_date_format
, tec_tickets_wallet_plus_apple_wallet_time_format
tec_events_get_full_site_block_template_services
blocks/event-links
, single-event
, v2/components/data
PHP Deprecated: Creation of dynamic property Tribe__Events__Aggregator__Record__gCal::$image_uploader is deprecated
. [ECP-1603]tec_events_custom_tables_v1_migration_after_dry_run
tec_events_custom_tables_v1_migration_after_dry_run
filter. [ET-1715]tribe-events-calendar-month__day--past
and tribe-events-calendar-month__day--current
classes were not consistently applied after navigating through different months in the Month View. [TEC-4898]page
URL param, the paginated page would redirect to a 404. [TEC-4979]tribe_get_venues
function to work with recurring events that have provisional IDs. [ECP-1597]tec_events_custom_tables_v1_normalize_occurrence_id
v2/list/event/featured-image
PHP Warning: Undefined variable $data in /code/wp-content/plugins/the-events-calendar/src/Tribe/REST/V1/Post_Repository.php on line 327
error. [TEC-4954]Block "core/legacy-widget" is already registered.
would occur. Now we check if registered first. [TEC-4764]Deprecated: Creation of dynamic property
warnings on: \Tribe__Events__Linked_Posts__Chooser_Meta_Box::$singular_name_lowercase
and \TEC\Events\Custom_Tables\V1\Models\Builder::$query
[BTRIA-2088]tec_events_get_full_site_block_template_services
, tec_events_views_v2_get_rest_nonce_html
blocks/archive-events
, blocks/single-event
tec_events_ical_header_noindex
to allow preventing the X-Robots-Tag addition. [TEC-4976]tec_events_seo_robots_meta_include
and tec_events_seo_robots_meta_include_{$view}
to short-circuit the robots meta tag addition. [TEC-4976]tec_events_seo_robots_meta_content
to alter the content attribute of the robots meta tag addition. [TEC-4976]tec_events_seo_robots_meta_allowable_post_types
to allow for the filtering of single post types that can have robots meta tags added.tec_events_add_no_index_meta_tag
, tribe_events_add_no_index_meta
, and tec_events_{$view}_add_no_index_meta
in favor of the above new filters.