get_theme_file_uri()
Retrieves the URL of a file in the theme.
Searches in the stylesheet directory before the template directory so themes which inherit from a parent theme can just override one file.
1 time — 0.003745 sec (very slow) | 50000 times — 6.93 sec (fast) | PHP 7.1.5, WP 4.9.4
Hooks from the function
Return
String
. The URL of the file.
Usage
get_theme_file_uri( $file );
- $file(string)
- File to search for in the stylesheet directory.
Default: ''
Examples
#1 Get the URL of the theme file including the child theme [auto-translate]
Suppose we want to include the file js/my-script.js
in the theme, but we need to make sure that when we create a child theme and the same file in it, the child theme file is included.
Now in WP 4.7 this can be written very simply with the function get_theme_file_uri():
wp_enqueue_script( 'my-script', get_theme_file_uri( 'js/my-script.js' ), array(), filemtime( get_theme_file_path('js/my-script.js') ) );
Changelog
Since 4.7.0 | Introduced. |
get_theme_file_uri() get theme file uri code WP 6.3
function get_theme_file_uri( $file = '' ) { $file = ltrim( $file, '/' ); if ( empty( $file ) ) { $url = get_stylesheet_directory_uri(); } elseif ( file_exists( get_stylesheet_directory() . '/' . $file ) ) { $url = get_stylesheet_directory_uri() . '/' . $file; } else { $url = get_template_directory_uri() . '/' . $file; } /** * Filters the URL to a file in the theme. * * @since 4.7.0 * * @param string $url The file URL. * @param string $file The requested file to search for. */ return apply_filters( 'theme_file_uri', $url, $file ); }