Функция get_template_directory_uri()
в WordPress предназначена для получения URL директории родительской темы, даже если используется дочерняя тема. Эта функция возвращает URL без завершающего слэша.
get_template_directory_uri();
Возвращаемое значение:
Функция возвращает строку, содержащую URL директории текущей активной родительской темы.
Алиас:
get_bloginfo('template_url');
— это алиас функции get_template_directory_uri()
. При вызове этой опции будет использована данная функция.
Альтернативные функции
get_stylesheet_directory_uri()
: Используйте, когда необходимо получить URL дочерней темы.get_template_directory()
: Используйте, когда нужно получить путь до директории темы на сервере.plugin_dir_url()
: Используйте, когда необходимо получить URL директории плагина.
Функция get_template_directory_uri()
базируется на следующих функциях:
get_theme_root_uri()
get_template()
Она является основой для:
get_parent_theme_file_uri()
get_theme_file_uri()
Хуки
Функция использует хук template_directory_uri
Пример 1: Использование функции в HTML теге
Для безопасности результат функции нужно очищать через esc_url()
или esc_attr()
. Это важно для соответствия требованиям WordPress, особенно если вы планируете разместить тему или плагин в официальном репозитории.
<img src="<?php echo esc_url( get_template_directory_uri() ); ?>/screenshot.png" />
Пример 2: Получение пути до шаблона
Вы можете вывести URL директории темы, используя функцию echo
.
echo get_template_directory_uri();
// Получим: http://example.com/wp-content/themes/theme_name
Пример 3: Подключение скрипта
Используйте функцию для подключения JavaScript файла.
add_action( 'wp_enqueue_scripts', 'genius_scripts_method' );
function genius_scripts_method() {
wp_enqueue_script(
'custom_script',
get_template_directory_uri() . '/js/custom_script.js',
['jquery']
);
}
Заключение
Функция get_template_directory_uri()
является ключевым инструментом для разработчиков WordPress, позволяя легко и безопасно подключать ресурсы, хранящиеся в директории родительской темы. Использование этой функции помогает избежать жестко закодированных путей, делая код более гибким и поддерживаемым.