We think the BEST way to theme EE4 really depends on a few factors with the biggest factor being what you want to change. Sometimes all that is needed is a few CSS edits and other times customizations are done via a child theme, or even editing the PHP, HTML, and/or CSS files.
Basically, this means that existing WP theme developers will have an easier time developing customizable event designs for EE4, which in turn can benefit the end user. Developers are encouraged to view the list of currently available theme templates and tags.
Depending on what you want to change and your skill level, here are some options:
Child Themes We want to make things as simple as we can for the end user, but with all the possible themes in use, there is a limit to how simple we can make it to customize things. The best solution (which is what we’ve taken IMO), is to integrate EE4 in “proper” WP ways that the majority of WP developers will understand. This ultimately benefits the end users who hire theme developers, or theme shops, that support EE4 templates in their themes.
Reassembly of the EE4 templates Oh wait! Your theme doesn’t support child themes? No problem, simply reassemble all of the EE4 template parts and combine them with your theme’s templates to make one cohesive archive-espresso_events.php (or single-espresso_events.php, etc) file, that integrates perfectly with your theme. The files that contain the template tags that should be loaded automagically, anytime an incoming request is for one of EE’s CPTs (otherwise they can be found in the /core/helpers/ folder).
The Event Espresso specific template parts include:
Event Details (description)
Event Venue Location
Event Venue Detail (excerpt)
Custom Post Types We think theming Event Espresso will be easier using Custom Post Types (CPTs), because we are now following the WordPress (WP) Theme Development Standards. This makes it easy for WP developers and theme shops to build integrations with their themes and plugins in EE4.
EE4 CPT data includes normal post data including:
This data can be queried and displayed in themes along with other post data.
Just want to change the wording of a few phrases? If so, no need to hack templates, just use Josh’s WP gettext filter.
If you need to add/remove content that’s not already in the event template, then setting up a child theme and working through the templates and using Event Espresso’s WordPress hooks and filters may be the way forward.
Sometimes, if it’s a PHP, HTML, or CSS based solution, you may need to contact a developer familiar with PHP, HTML, and/or CSS to help out. Our support team is also available in the support forums and will recommend the best solution for what you are trying to accomplish.
Are you a WordPress theme developer? Want to see how Event Espresso 4 integrates with your theme? Request access to the Event Espresso Core (4.0+) GitHub repository and get acquainted with the premier event registration system for WordPress.