Interested in using The Events Calendar with Elementor? As of version, the Events Calendar Pro offers native Elementor widgets! We believe most of our beloved customers will prefer that approach.

👋 Please note that it’s currently not possible to create templates for the single event page with the Elementor theme builder for now, but we are working on improving compatibility!

Using the [tribe_events] shortcode

As an alternative, you can also use Event Calendar Pro’s [tribe_events] shortcode. This allows you to add the shortcode to your page via the Elementor page builder to display the main calendar wherever you want.

This works in a variety of scenarios for our users interested in using our plugins with Elementor. You can use either the Classic Editor or the Block Editor, as long as you are using our [tribe_events] shortcode.

The following scenarios will work with this integration:

  • Using the [tribe_events] shortcode on a single page with the Elementor Editor
  • Using [tribe_events] on an Elementor page template

Lastly, it is worth noting that this compatibility improvement has been designed to work only with the updated calendar views from The Events Calendar 5.0. You can toggle these views on by checking the box under Events → Settings → Display.

Single Event and Organizer Pages

If you’d like to apply your Elementor templates to the single event and organizer pages, we’d recommend the following configuration:

  • Enable all The Events Calendar-specific post types under Elementor > Settings.
  • Set the Events Template to Default Page Template under Events > Settings > Display.

Main events page workaround

If you’d like to use any of the templates provided by Elementor Pro, typically, the main events page doesn’t work because Elementor echos the_excerpt instead of the_content in its archive templates.

To resolve this issue, you can create a template override of the Elementor archive template in your child theme and replace the_excerpt with the following snippet:

// Load post content on the main events page.	
if ( class_exists( 'Tribe__Events__Main' ) && tribe_get_global_query_object()->is_main_query() ) {
} else {

For example, if you are using Hello Elementor theme, this snippet would replace line 32 in the following file: template-parts/archive.php