Eventbrite and WordPress are the perfect fit, but until now, integrating the two has not been for the faint of heart. In early 2014, Eventbrite announced its new upcoming REST API, and this became the perfect opportunity to give theme developers an easy-to-use set of tools for working with Eventbrite events: the Eventbrite API plugin.
The plugin gives theme developers three ways to interact with the Eventbrite API:
- Theme support
- The
Eventbrite_Query
class - Helper functions
Theme Support
While the Eventbrite API plugin can display events in any theme, events look their best if the theme declares support and provides tailored templates. This simple process guarantees that events fit perfectly with the theme design, and adding support should take no more than ten minutes.
- Add a support declaration, hooked to
after_setup_theme
. There are no arguments, and usually this can be added to a theme’s existing setup function.function themeslug_setup() { ... /** * Add theme support for the Eventbrite API plugin. * See: https://wordpress.org/plugins/eventbrite-api/ */ add_theme_support( 'eventbrite' ); } add_action( 'after_setup_theme', 'themeslug_setup' );
- Create an
eventbrite
folder in your theme, and copy over the plugin’s main template files (tmpl/eventbrite-index.php
andtmpl/eventbrite-single.php
). - Compare the markup in
eventbrite-index.php
to your ownindex.php
and adjust as necessary. Also, verify that your markup for archive titles matches the Eventbrite template’s page title. The Eventbrite templates don’t use template parts for the post markup, so you may need to compare withcontent.php
or the like. Of course, there’s no reason you couldn’t add acontent-eventbrite.php
to your theme, if you prefer. - Repeat step 3 with
eventbrite-single.php
and your own single template.
That’s it! If support is declared, the plugin will use those templates if they exist, or fall back to the plugin’s templates. To see some custom templates in action, check out any of the Twenty* default themes; their templates are included in the plugin.

The Eventbrite_Query Class
It was important to us that working with the Eventbrite API plugin should be a simple and familiar process for theme developers, with a low barrier to entry. With that in mind, we developed the Eventbrite_Query
class, so fetching and displaying events is as simple as making a secondary loop (in fact, the class extends WP_Query
). This allows for easy creation of special-purpose loops, widgets, creative page templates – any combination of events you want to display in a theme.
<?php // Get the next three unpublicized events for the Apollo Planetarium. $events = new Eventbrite_Query( apply_filters( 'eventbrite_query_args', array( 'display_private' => true, 'limit' => 3, 'venue_id' => 6955925, ) ) ); if ( $events->have_posts() ) : while ( $events->have_posts() ) : $events->the_post(); ?>
There are a few things to keep in mind while working with Eventbrite_Query
loops.
- You can continue to use familiar template tags in event loops, such as
the_post_thumbnail()
,the_title()
,the_content()
, etc. They’ve simply been filtered to provide content from the current event. - For technical reasons, a few template tags need their Eventbrite equivalent, such as
eventbrite_is_single()
andeventbrite_edit_post_link()
. - Being a secondary loop, don’t forget to add
wp_reset_postdata()
at the end. - All of the plugin’s template tags are pluggable, and filters exist at various points for further customization.
Helper Functions
If you’re happy processing your own results, and just want an easy-to-use set of tools to handle the API requests, the included helper functions are for you. Each supported API endpoint has its own helper function, and these functions in turn use the Eventbrite_Manager
class for the heavy lifting. Not only does this class make the actual API requests, but also handles validation and transients, so you can concentrate on results rather than mechanics.
The Eventbrite API plugin is developed on GitHub, and issues or questions can be posted there or in the forums. Additional info and documentation can be found here.
Along with the Eventbrite Services plugin, it’s never been easier or more fun to display events in your WordPress website. Let us know what you’re doing with Eventbrite, and tell us if there’s anything the Eventbrite API plugin can do to make your Eventbrite integrations easier for you!
The Eventbrite API plugin requires the Keyring plugin for managing OAuth2 authorization to Eventbrite. If you get stuck, check out our detailed instructions for getting connected to Eventbrite.