What is the best way to customize EE4?
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:
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 Datetimes
- Event Tickets
- Event Venues
- 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:
- Featured Image
- Custom Fields
This data can be queried and displayed in themes along with other post data.
What option is right for me?
We don’t know the specifics of your website, so it’s up to you to decide where to go from here. We are happy to recommend a few helpful tips:
- If your goal is along the lines of “I want the events page to match my theme better” then the answer is usually a CSS solution. Sometimes a few CSS edits are all that are needed, and if you don’t have a child theme set up (or don’t want to) you can install a CSS builder plugin like this one and customize with CSS (it turns out that you can do a lot with CSS changes only).
- 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.