get_theme_root( string $stylesheet_or_template = '' )
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 is to leverage the main theme root.
Default value: ''
Return
(string) Themes directory path.
Source
File: wp-includes/theme.php
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 ) ) { $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 ); }
Changelog
Version | Description |
---|---|
1.5.0 | Introduced. |
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.