astra_addon_locate_template( string $template_name, string $template_path = '', string $default_path = '' )
Locate a template and return the path for inclusion.
Description
This is the load order:
yourtheme / $template_path / $template_name yourtheme / $template_name $default_path / $template_name
Parameters
- $template_name
-
(string) (Required) template path. E.g. (directory / template.php).
- $template_path
-
(string) (Optional) (default: '').
Default value: ''
- $default_path
-
(string) (Optional) (default: '').
Default value: ''
Return
(string) return the template path which is maybe filtered.
Source
File: classes/class-astra-templates.php
function astra_addon_locate_template( $template_name, $template_path = '', $default_path = '' ) { if ( ! $template_path ) { $template_path = 'astra-addon/'; } if ( ! $default_path ) { $default_path = ASTRA_EXT_DIR . 'addons/'; } /** * Look within passed path within the theme - this is priority. * * Note: Avoided directories '/addons/' and '/template/'. * * E.g. * * 1) Override Footer Widgets - Template 1. * Addon: {astra-addon}/addons/advanced-footer/template/layout-1.php * Theme: {child-theme}/astra-addon/advanced-footer/layout-1.php * * 2) Override Blog Pro - Template 2. * Addon: {astra-addon}/addons/blog-pro/template/blog-layout-2.php * Theme: {child-theme}/astra-addon/blog-pro/blog-layout-2.php. */ $theme_template_name = str_replace( 'template/', '', $template_name ); $template = locate_template( array( trailingslashit( $template_path ) . $theme_template_name, $theme_template_name, ) ); // Get default template. if ( ! $template || ASTRA_EXT_TEMPLATE_DEBUG_MODE ) { $template = $default_path . $template_name; } // Return what we found. return apply_filters( 'astra_addon_locate_template', $template, $template_name, $template_path ); }
Expand full source code Collapse full source code View on Trac
Changelog
Version | Description |
---|---|
1.0.0 | Introduced. |