W3cubDocs

/WordPress

get_theme_root( string $stylesheet_or_template = false )

Retrieve path to themes directory.

Description

Does not have trailing slash.

Parameters

$stylesheet_or_template

(string) (Optional) The stylesheet or template name of the theme

Default value: false

Return

(string) Theme path.

Source

File: wp-includes/theme.php

function get_theme_root( $stylesheet_or_template = false ) {
	global $wp_theme_directories;

	if ( $stylesheet_or_template && $theme_root = get_raw_theme_root( $stylesheet_or_template ) ) {
		// Always prepend WP_CONTENT_DIR unless the root currently registered as a theme directory.
		// This gives relative theme roots the benefit of the doubt when things go haywire.
		if ( ! in_array( $theme_root, (array) $wp_theme_directories ) ) {
			$theme_root = WP_CONTENT_DIR . $theme_root;
		}
	} else {
		$theme_root = WP_CONTENT_DIR . '/themes';
	}

	/**
	 * Filters the absolute path to the themes directory.
	 *
	 * @since 1.5.0
	 *
	 * @param string $theme_root Absolute path to themes directory.
	 */
	return apply_filters( 'theme_root', $theme_root );
}

Changelog

Version Description
1.5.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_theme_root