get_template_directory(): string

Retrieves template directory path for the active theme.


string Path to active theme’s template directory.

More Information


echo get_template_directory();

Returns an absolute server path (eg: /home/user/public_html/wp-content/themes/my_theme), not a URI.

In the case a child theme is being used, the absolute path to the parent theme directory will be returned. Use get_stylesheet_directory() to get the absolute path to the child theme directory.

To retrieve the URI of the stylesheet directory use get_stylesheet_directory_uri() instead.


  • Uses: get_theme_root() to retrieve the absolute path to the themes directory, get_template() to retrieve the directory name of the current theme.
  • Does not output a trailing slash


function get_template_directory() {
	$template     = get_template();
	$theme_root   = get_theme_root( $template );
	$template_dir = "$theme_root/$template";

	 * Filters the active theme directory path.
	 * @since 1.5.0
	 * @param string $template_dir The path of the active theme directory.
	 * @param string $template     Directory name of the active theme.
	 * @param string $theme_root   Absolute path to the themes directory.
	return apply_filters( 'template_directory', $template_dir, $template, $theme_root );


apply_filters( ‘template_directory’, string $template_dir, string $template, string $theme_root )

Filters the active theme directory path.


6.4.1Memoization removed.
6.4.0Memoizes filter execution so that it only runs once for the current theme.

User Contributed Notes

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