Retrieves the path of a file in the theme.
Description
Searches in the stylesheet directory before the template directory so themes which inherit from a parent theme can just override one file.
Parameters
$file
stringoptional- File to search for in the stylesheet directory.
Default:
''
Source
function get_theme_file_path( $file = '' ) {
$file = ltrim( $file, '/' );
$stylesheet_directory = get_stylesheet_directory();
$template_directory = get_template_directory();
if ( empty( $file ) ) {
$path = $stylesheet_directory;
} elseif ( $stylesheet_directory !== $template_directory && file_exists( $stylesheet_directory . '/' . $file ) ) {
$path = $stylesheet_directory . '/' . $file;
} else {
$path = $template_directory . '/' . $file;
}
/**
* Filters the path to a file in the theme.
*
* @since 4.7.0
*
* @param string $path The file path.
* @param string $file The requested file to search for.
*/
return apply_filters( 'theme_file_path', $path, $file );
}
Hooks
- apply_filters( ‘theme_file_path’,
string $path ,string $file ) Filters the path to a file in the theme.
Changelog
Version | Description |
---|---|
4.7.0 | Introduced. |
We can use this function to allow child theme to overwrite the functional file of the parent theme.
Thanks