Last active
October 12, 2022 17:04
-
-
Save cliffordp/b76421f2490a8b8995493f203e11b331 to your computer and use it in GitHub Desktop.
The Events Calendar and related plugins: Add your own location for template file loading.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* The Events Calendar and related plugins: Add your own location for template file loading. | |
* | |
* Example "Single Event within List View" for Avada theme (which has theme overrides). | |
* Now tries to load in this order: | |
* This plugin: /app/public/wp-content/plugins/my-plugin/tribe-events/list/single-event.php | |
* Theme root so it stays even if switch themes: /app/public/wp-content/themes/tribe-events/list/single-event.php | |
* Child theme with theme overrides: /app/public/wp-content/themes/Avada-Child-Theme/tribe-events/list/single-event.php | |
* Parent theme with theme overrides: /app/public/wp-content/themes/Avada/tribe-events/list/single-event.php | |
* Plugin default: /app/public/wp-content/plugins/the-events-calendar/src/views/list/single-event.php | |
* | |
* @link https://gist.github.com/b76421f2490a8b8995493f203e11b331 | |
* | |
* @see \Tribe__Events__Templates::getTemplateHierarchy() | |
* | |
* @param string $file The full file path trying to be loaded. | |
* @param string $template The template name, such as | |
* | |
* @return string | |
*/ | |
function tribe_additional_template_locations( string $file, string $template ) { | |
// Put them in the order of priority (first location gets loaded before second location if first exists) | |
$new_locations = [ | |
'my_plugin' => trailingslashit( plugin_dir_path( __FILE__ ) ) . 'tribe-events', // /app/public/wp-content/plugins/cliff-test-tec/tribe-events/default-template.php | |
'themes_root' => trailingslashit( get_theme_root() ) . 'tribe-events', // /app/public/wp-content/themes/tribe-events/default-template.php | |
]; | |
foreach ( $new_locations as $location ) { | |
$new_file = trailingslashit( $location ) . $template; | |
if ( file_exists( $new_file ) ) { | |
return $new_file; | |
} | |
} | |
return $file; | |
} | |
add_filter( 'tribe_events_template', 'tribe_additional_template_locations', 10, 2 ); |
@mike-weiner You can contact https://theeventscalendar.com/support/ with your customization questions.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@cliffordp - By chance are you still supporting this snippet?
After upgrading to TEC v6.0.1, my calls to
tribe_address_exists()
andtribe_get_full_address()
have quit working when my active theme is Divi. When I switch to a different theme, these function calls work correctly.