The Events Calendar and Event Tickets include a full set of custom blocks for creating and managing events, tickets, and RSVPs in the WordPress block editor. This article covers what each block does, how to enable the block editor for events, and how to customize the default block template that loads when you create a new event.

Enabling the Block Editor for Events

The block editor is WordPress’s default editor for posts and pages. For events, it needs to be enabled separately. Go to Events → Settings → General → Editing and check the box to activate the block editor for events.

The Events Calendar General settings screen with the Activate Block Editor for Events checkbox

Once enabled, new events will open in the block editor with the default set of Event blocks pre-loaded. Existing events created in the classic editor will open using the Event Details Classic block, which preserves the original layout. You can keep using that, add individual blocks alongside it, or switch entirely to the newer blocks — it’s up to you.

Testing Before Switching

If you’ve been using the classic editor and are switching to the block editor for events, it’s worth testing on a staging site first. A staging site is a copy of your live site where you can verify that your theme and other plugins behave as expected before making the change in production.

The latest versions of The Events Calendar, Events Calendar Pro, Event Tickets, and Event Tickets Plus are all compatible with the block editor. What varies is how your theme and other plugins handle it — particularly page builder themes, which can behave differently. Our Testing for Conflicts guide can help if you run into issues. If you want to keep using the classic editor for events, see Using the Classic Editor to Manage Events.

Event Blocks

The following blocks are added by The Events Calendar and Events Calendar Pro. You’ll find them in the block inserter under the Events section.

The Events section in the WordPress block inserter showing the available event blocks

Event Date Time

The Event Date Time block is required on every event — it’s where you set the date, time, and duration. Click the calendar to pick a date, use the time dropdowns, or type directly into the field at the top. Select All Day from the start time dropdown for all-day events. Toggle multi-day to set separate start and end dates.

Events Calendar Pro users will see a Repeat This Event option in the block panel, which exposes all recurrence rule and exception settings for creating recurring events.

The Event Date Time block in the editor showing date and time fields
The Event Date Time block configured for an all-day event
The Event Date Time block configured for a multi-day event
The recurring event options in the Event Date Time block (Events Calendar Pro)

Event Venue

The Event Venue block displays your event’s location. As you start typing, it suggests existing venues or lets you create a new one from within the block. Map display and map link options are available in the block sidebar settings.

The Event Venue block showing venue search with autocomplete suggestions
The Event Venue block preview showing the venue name and map link

Event Organizer

The Event Organizer block sets and displays the organizer for the event. Like the Venue block, you can select from existing organizers or create a new one inline.

The Event Organizer block showing organizer selection

Event Price

The Event Price block displays the event price and an optional price description. The description field works for non-monetary pricing too — for example, By Donation. The preview updates in real time as you type.

The Event Price block showing price and description fields

Event Website

The Event Website block creates a linked button pointing to an external event URL. You can customize the button label.

The Event Website block showing a URL field and button label field

Event Sharing

The Event Sharing block lets you position and customize the Google Calendar and iCal subscribe buttons. You can change the labels, hide one of the options, or remove the block entirely.

The Event Sharing block showing the Google Calendar and iCal button options

Event Categories

Event Categories assigned in the Document Settings sidebar can also be displayed in the event content by adding the Event Categories block.

The Event Categories block showing assigned categories displayed in the event content

Tags

Tags added in the Document Settings sidebar can be displayed in the event content using the Tags block.

The Related Events block displays up to three upcoming events that share the same categories or tags as the current event. If no matching upcoming events exist, nothing is displayed.

Additional Fields Blocks (Events Calendar Pro)

When you create custom Additional Fields under Events → Settings → Additional Fields, a corresponding block is automatically created for each field. The block takes the title you entered and gives event creators the configured input options.

The block inserter showing Additional Fields blocks in their own section
An example Additional Fields block showing a dropdown-type custom field

Virtual Event (Events Calendar Pro)

The Virtual Event block acts as a placeholder for virtual event content. Add it to the editor, fill in the virtual event details at the bottom of the page, then move the block to the position you want on the event layout.

The Virtual Event placeholder block in the editor
The virtual event details panel at the bottom of the event editor
The Virtual Event block repositioned within the event content layout

Event Details Classic

When you open an event that was originally created in the classic editor, it loads with the Event Details Classic block, which preserves the original event information layout. You can save it as-is, add new blocks alongside it, or replace it entirely with the individual blocks described above.

If you use new blocks alongside the Event Details Classic block, content syncs between them. For example, updating the price in the Event Price block also updates the price in the Event Details Classic block.

The Event Details Classic block showing event information in the legacy layout

Ticket and RSVP Blocks

Event Tickets adds its own set of blocks for managing ticket sales and RSVPs. Look for these in the block inserter under the Tickets section.

The Tickets section in the WordPress block inserter showing available ticket blocks

Tickets

The Tickets block lets you create and manage tickets directly in the editor. You can create and edit individual tickets, reorder them, and monitor sales from the block. On the front end, visitors see a ticket form for purchasing and checkout.

The Tickets block in the editor showing the list of tickets and a sales summary
The ticket editing panel within the Tickets block

💡 Some features shown in these screenshots require Event Tickets Plus.

RSVP

The RSVP block lets attendees indicate whether they’re attending. You set the title, description, capacity, and availability dates. Visitors RSVP directly from the form on the event page.

The RSVP block in the editor showing the RSVP form configuration
The RSVP editing panel

Attendee List

The Attendee List block displays the gravatars of attendees on the front end of your event. It is powered by the Public Attendees List feature and is available when tickets or RSVPs are active on an event.

The Attendee List block showing attendee gravatars

For more on creating and managing tickets, see Making Tickets.

Customizing the Default Block Template

When you create a new event, the block editor pre-loads a default set of blocks in a specific order. You can customize this template using the tribe_events_editor_default_template filter.

The default block order is:

  • tribe/event-datetime
  • core/paragraph
  • tribe/event-price
  • tribe/event-organizer
  • tribe/event-venue
  • tribe/event-website
  • tribe/event-links

The filter parameters are:

  • $template — array of template blocks to generate
  • $post_type — string; the post type being edited (defaults to tribe_events)
  • $args — array of arguments used to set up the template

Each block in the template array is itself an array where the first key (0) is the block slug. Add these snippets to your child theme’s functions.php file or via a code snippets plugin.

Remove a Single Block

This example removes the Event Price block from the default template:

add_filter( 'tribe_events_editor_default_template', function( $template ) {
    // Collect an array of template block slugs
    $template_search = array_column( $template, 0 );

    // Find the index of tribe/event-price
    $price = array_search( 'tribe/event-price', $template_search );

    // Remove it
    array_splice( $template, $price, 1 );

    return $template;
}, 11, 1 );

Replace the Entire Template

This example replaces the default template with a custom set of blocks:

add_filter( 'tribe_events_editor_default_template', function( $template ) {
    $template = [
        [ 'tribe/event-datetime' ],
        [ 'core/paragraph', [
            'placeholder' => __( 'Add Description...', 'the-events-calendar' ),
        ] ],
        [ 'tribe/event-organizer' ],
        [ 'tribe/event-venue' ],
    ];
    return $template;
}, 11, 1 );

Including WordPress Core Blocks

You can include any standard WordPress block in the template alongside TEC blocks. Use the block’s “Name” value from the WordPress core blocks reference. For example, to add the Featured Image block before the paragraph:

add_filter( 'tribe_events_editor_default_template', function( $template ) {
    $template = [
        [ 'tribe/event-datetime' ],
        [ 'core/post-featured-image' ],
        [ 'core/paragraph', [
            'placeholder' => __( 'Add Description...', 'the-events-calendar' ),
        ] ],
        [ 'tribe/event-organizer' ],
        [ 'tribe/event-venue' ],
    ];
    return $template;
}, 11, 1 );
<?php //Do not copy this line

add_filter( 'tribe_events_editor_default_template', function ( $template ) {
	$template_search = array_column( $template, 0 );
	$block_index     = array_search( 'tribe/related-events', $template_search );

	if ( false !== $block_index ) {
		array_splice( $template, $block_index, 1 );
	}

	return $template;
}, 99 );

Remove RSVP, Tickets, and Attendees Blocks

<?php //Do not copy this line

remove_action( 'admin_init', array( tribe( 'tickets.editor' ), 'add_tickets_block_in_editor' ) );