The get_theme_file_uri() WordPress PHP function retrieves the URL of a file in the theme. It searches in the stylesheet directory before the template directory, allowing themes that inherit from a parent theme to override a single file.
Usage
To use the function, simply provide the file path within your theme as the argument:
get_theme_file_uri('/path/to/your/file.ext');
Parameters
$file
(string, optional): The file to search for in the stylesheet directory. Default is an empty string.
More information
See WordPress Developer Resources: get_theme_file_uri()
Examples
Enqueue a CSS file
Enqueue a custom Font Awesome CSS file stored in your theme’s CSS directory:
wp_enqueue_style('custom-font-awesome', get_theme_file_uri('/css/all.min.css'), array());
Display a theme image in a block pattern
Include a local theme asset (e.g., an image) in your block pattern:
<figure class="wp-block-image size-full"> <img src="<?php echo esc_url(get_theme_file_uri('assets/img/my-asset.png')); ?>" alt="<?php _e('Asset description'); ?>" width="640" height="400"/> </figure>
Enqueue a JavaScript file
Enqueue a custom JavaScript file stored in your theme’s js
directory:
wp_enqueue_script('custom-script', get_theme_file_uri('/js/custom-script.js'), array(), '1.0', true);
Add a theme favicon
Add a favicon to your theme’s head
section using the wp_head
action:
function my_theme_add_favicon() { echo '<link rel="shortcut icon" href="' . esc_url(get_theme_file_uri('/assets/img/favicon.ico')) . '" />'; } add_action('wp_head', 'my_theme_add_favicon');
Add a background image
Add a background image to a div
element using inline CSS:
<div style="background-image: url('<?php echo esc_url(get_theme_file_uri('/assets/img/background.jpg')); ?>');"> <!-- Your content here --> </div>