As with any front facing plugin, sometimes things don’t match your existing layout, or you would prefer a featured image on the right rather than the left, or really you need the date and time to be together instead of separate or this change, or that tweak.
At some point we will all change or want to change something that Event Espresso does, which is why we work hard to allow flexibility with the front end design.
The way Event Espresso allows customization is via templates. By default these are found in plugins/event-espresso/templates.
It is not recommended to edit those files directly in that folder, you should copy across the required files to wp-content/uploads/espresso/templates and edit them there.
Any file found in the /wp-content/uploads/espresso/templates/ directory will be run instead of the default ones, effectively overriding the default templates.
Please do not copy every template file over, only copy across the files that you will edit. This allows you to maintain the files much more easily.
Often the files come in pairs, so for example if you need to edit the event_list_display.php file, you will need to copy that AND the event_list.php file to the uploads/espresso/templates directory otherwise the modified file will be ignored.
Paired files include:
- event_list_display.php & event_list.php
- registration_page_display.php & registration_page.php
- multi_registration_page_display.php & multi_registration_page.php
Whilst looking in the templates directory, you will see a folder for CSS files. The main stylesheet that can be modified is the espresso_default.css file.
The other stylesheets are deemed legacy files after version 3.1.29 and should be ignored. If you are using an older version of Event Espresso that is using the legacy files, we would recommend backing these files up, updating your Event Espresso and using the css as a base for the Theme Roller styles or turning off ThemeRoller and adding the styles to your themes css.
Whilst editing the stylesheet is one way of generating a suitable style, Event Espresso also comes with ThemeRoller stylesheets that can be accessed from the Template Settings options page and can style your Espresso events with the click of a button. Examples of the ThemeRoller styles can be found here (left side menu, click Gallery)
Payment Gateways can also be modified, but we strongly advise you to be careful when modifying these or seek a professional developers assistance. Again it is advisable to copy these to the uploads folder. You can do this with individual payment gateway directories. Example, if you want to modify the PayPal gateway, we recommend copying the PayPal directory to wp-content/uploads/espresso/gateways/ so it would read wp-content/uploads/espresso/gateways/paypal.
Do not copy every gateway directory to your uploads folder, only copy those that you are directly modifying.
We are continually trying to make Event Espresso bigger and better and as a result we will occasionally amend the default templates or another files interaction with the templates. In this situation your modified templates will cease to function or will function erratically.
To resolve this you will need to compare your modified file with the new default templates and create new templates based on the new default files and your previous modifications.
For example, if you added a section to show the staff member in every event, you would need to rename your modified file, copy across the new default template and make the modifications to that template. This is often easier done offline.
To help further we recommend the use of a “Diff” file viewer, which highlights differences between text and files. We recommend DiffMerge (plus it is free!).
Custom Files Add On
You don’t need to use this add on, but we highly recommend it if you are creating new shortcodes or functions, so you don’t have to hack or change the plugins core files. This add on is not installed like a normal add on but its files are copied to the uploads/espresso directory. See the Custom Files Add-on documentation for more information.