Функция search_theme_directories()
выполняет сканирование всех зарегистрированных директорий с темами и возвращает список найденных тем. Она используется для поиска доступных тем на сайте, проверяя наличие и корректность файлов тем.
search_theme_directories( bool $force = false ): array|false
Описание
search_theme_directories()
ищет все темы в зарегистрированных директориях, в которых должны находиться обязательные файлы темы, такие как style.css
. Функция возвращает массив тем, которые были найдены и распознаны как валидные.
Эта функция полезна при программном получении списка всех установленных тем на сайте, а также для динамической работы с темами в процессе разработки.
Параметры
$force
(логический, необязательный):
Определяет, нужно ли принудительно запустить новое сканирование директорий тем.
По умолчанию:false
.
Возвращаемые значения
- Массив — если успешен поиск, возвращает массив найденных тем.
false
— если поиск завершился неудачно.
Примечание
По умолчанию файл style.css
должен находиться в корневом каталоге темы, но эта функция также поддерживает размещение файлов темы, таких как style.css
и functions.php
, в подкаталогах внутри корневой директории темы.
Пример 1: Получение всех тем
Следующий код возвращает массив всех найденных тем:
$theme_dirs = search_theme_directories();
print_r( $theme_dirs );
Вывод будет примерно таким:
Array
(
[Ale] => Array
(
[theme_file] => Ale/style.css
[theme_root] => /var/www/wp-content/themes
)
[twentytwentyfour] => Array
(
[theme_file] => twentytwentyfour/style.css
[theme_root] => /var/www/wp-content/themes
)
)
Пример 2: Принудительное обновление списка тем
Если требуется принудительно просканировать директории для поиска новых тем, установите параметр $force
в true
:
$theme_dirs = search_theme_directories( true );
Этот код выполнит новое сканирование директорий тем, даже если кэшированные данные уже существуют.
Заключение
Функция search_theme_directories()
— это мощный инструмент для получения списка доступных тем на сайте. Она используется как основа для функции wp_get_themes()
и полезна при работе с темами программно, предоставляя гибкость в управлении темами и их настройками.