## Функция GET_THEME_ROOT() в WordPress
Функция get_theme_root() используется для получения пути к папке с темами на вашем сайте WordPress. Она возвращает строку, содержащую этот путь, но без завершающего слэша.
### Как это работает
Функция get_theme_root() используется непосредственно в других функциях, таких как:
- get_template_directory()
- get_stylesheet_directory()
### Производительность
- Время выполнения за один вызов: 0.00001 секунды.
- При вызове 50000 раз: приблизительно 0.01 секунды.
### Версия PHP и WordPress
- Тестировалось на PHP 7.4.8 и WordPress 5.6.2.
### Возвращаемое значение
Функция возвращает строку, которая содержит путь к директории тем.
### Синтаксис использования
```php
get_theme_root( $stylesheet_or_template );
- $stylesheet_or_template: (строка) Имя темы. Если не указано, будет использоваться корневая директория основной темы.
Примеры использования
Пример 1: Получение полного пути к директории тем
echo get_theme_root(); // Выводит: /home/k/foo/example.com/www/wp-content/themes
echo get_theme_root( 'my-theme' ); // Выводит: /home/k/foo/example.com/www/wp-content/themes
Пример 2: Количество подпапок в директории тем
function display_themes_subdirs_count_info() {
$theme_root = get_theme_root();
$files_array = glob( "$theme_root/*", GLOB_ONLYDIR );
echo count( $files_array ) . " подкаталогов в директории: $theme_root";
}
Примечания
- Глобальная переменная:
Array $wp_theme_directories
История изменения
- Функция была введена в версии 1.5.0.
Код функции get_theme_root()
Вот как выглядит код функции:
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 ) {
/*
* Всегда добавляем WP_CONTENT_DIR, если текущая директория не зарегистрирована как папка для тем.
* Это полезно для относительных папок тем в случае возникновения ошибок.
*/
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';
}
/**
* Фильтрует абсолютный путь к директории тем.
*
* @since 1.5.0
*
* @param string $theme_root Абсолютный путь к директории тем.
*/
return apply_filters( 'theme_root', $theme_root );
}
### Связанные функции
- get_parent_theme_file_path()
- get_stylesheet_directory()
- get_template_directory()
Эти функции помогают работать с темами и их файлами.
Теперь текст стал более понятным для начинающих пользователей WordPress, а структура и форматирование обеспечивают удобство чтения и восприятия информации.