Функция get_template_directory()
в WordPress используется для получения полного пути к каталогу текущей активной темы. Эта функция возвращает путь к родительской теме, даже если вы используете дочернюю тему. Возвращаемый путь не содержит завершающего слэша.
get_template_directory() : string
Функция не принимает аргументов и возвращает строку с полным путем к директории активной темы.
Пример 1: Подключение файла шаблона
<?php
// Подключение файла custom-template.php из директории активной темы
require_once get_template_directory() . '/custom-template.php';
?>
В этом примере мы используем get_template_directory()
для получения пути к директории темы и затем добавляем к этому пути /custom-template.php
, чтобы подключить файл.
Пример 2: Использование с функцией locate_template()
Функция locate_template()
используется для поиска файлов шаблонов в текущей или дочерней теме. Мы можем комбинировать её с get_template_directory()
.
<?php
// Поиск и подключение файла custom-template.php из активной или дочерней темы
$template = locate_template('custom-template.php');
if ($template) {
require_once $template;
} else {
require_once get_template_directory() . '/custom-template.php';
}
?>
В этом примере locate_template()
сначала ищет файл custom-template.php
в текущей или дочерней теме, и если файл не найден, мы используем get_template_directory()
для подключения файла из основной темы.
Дополнительные сведения и альтернативы
- Константа
TEMPLATEPATH
: Вместо функцииget_template_directory()
можно использовать константуTEMPLATEPATH
. Пример:
echo TEMPLATEPATH;
//> /home/example.com/public_html/wp-content/themes/theme_name
- Дочерняя тема: Для получения пути к дочерней теме используйте функцию
get_stylesheet_directory()
. - Каталог всех тем: Функция
get_theme_root()
возвращает путь до каталога со всеми темами:
echo get_theme_root();
//> /home/example.com/public_html/wp-content/themes
- URL каталога всех тем: Чтобы получить URL каталога со всеми темами, используйте функцию
get_theme_root_uri()
:
echo get_theme_root_uri();
//> http://example.com/wp-content/themes
- URL текущей темы: Для получения URL текущей темы используйте функцию
get_template_directory_uri()
:
echo get_template_directory_uri();
//> http://example.com/wp-content/themes/theme_name
- Название папки текущей темы: Функция
get_template()
возвращает название папки текущей темы:
echo get_template();
//> theme_name
Используемые функции
Функция get_template_directory()
работает на основе функций get_template()
и get_theme_root()
. Она также служит основой для функции get_parent_theme_file_path()
.
Заключение
Функция get_template_directory()
является важным инструментом для разработчиков тем в WordPress, обеспечивая легкий и надежный способ получения пути к директории активной темы. Использование этой функции помогает избежать ошибок с путями и делает код более чистым и управляемым.