/** * Retrieve the name of the highest priority template file that exists. * * Searches in the STYLESHEETPATH before TEMPLATEPATH so that themes which * inherit from a parent theme can just overload one file. If the template is * not found in either of those, it looks in the theme-compat folder last. * * Taken from bbPress * * @since v1.5 * * @param string|array $template_names Template file(s) to search for, in order. * @param bool $load If true the template file will be loaded if it is found. * @param bool $require_once Whether to require_once or require. Default true. * Has no effect if $load is false. * @return string The template filename if one is located. */ public static function elastic_slider_locate_template($template_names, $load = false, $require_once = true) { // No file found yet $located = false; // Try to find a template file foreach ((array) $template_names as $template_name) { // Continue if template is empty if (empty($template_name)) { continue; } // Trim off any slashes from the template name $template_name = ltrim($template_name, '/'); // Check child theme first if (file_exists(trailingslashit(get_stylesheet_directory()) . 'partials/' . $template_name)) { $located = trailingslashit(get_stylesheet_directory()) . 'partials/' . $template_name; break; // Check parent theme next } elseif (file_exists(trailingslashit(get_template_directory()) . 'partials/' . $template_name)) { $located = trailingslashit(get_template_directory()) . 'partials/' . $template_name; break; // Check theme compatibility last } elseif (file_exists(trailingslashit(Elastic_Slide_Loader::elastic_slider_get_templates_dir()) . $template_name)) { $located = trailingslashit(Elastic_Slide_Loader::elastic_slider_get_templates_dir()) . $template_name; break; } } if (true == $load && !empty($located)) { return Elastic_Slide_Loader::elastic_load_template($located, $require_once); } return $located; }