get_theme_file_path( string $file =  ): string

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

$filestringoptional
File to search for in the stylesheet directory.

Default:''

Return

string The path of the file.

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

VersionDescription
4.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.