get_theme_root( string $stylesheet_or_template = '' ): string
Retrieves path to themes directory.
Contents
Description
Does not have trailing slash.
Parameters
-
$stylesheet_or_template
string Optional -
The stylesheet or template name of the theme.
Default is to leverage the main theme root.Default:
''
Return
string Themes directory path.
Source
File: wp-includes/theme.php
.
View all references
function get_theme_root( $stylesheet_or_template = '' ) {
global $wp_theme_directories;
$theme_root = '';
if ( $stylesheet_or_template ) {
$theme_root = get_raw_theme_root( $stylesheet_or_template );
if ( $theme_root ) {
// 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, true ) ) {
$theme_root = WP_CONTENT_DIR . $theme_root;
}
}
}
if ( ! $theme_root ) {
$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 );
}
Hooks
-
apply_filters( 'theme_root',
string $theme_root ) -
Filters the absolute path to the themes directory.
Changelog
Version | Description |
---|---|
1.5.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Number of Subdirectories in Themes Directory
The function below informs about the number of subdirectories in the themes directory. Note that this doesn’t necessarily match the number of themes recognized by WordPress.
Example output:
There are 5 subdirectories in the /home/user/public_html/wp-content/themes directory.