get_template_directory_uri()
Получает URL родительской темы (даже если используется дочерняя). Без слэша на конце.
get_bloginfo('template_url');
— это алиас этой функции - при запросе этой опции будет вызвана эта фукнция.
-
Используйте get_stylesheet_directory_uri(), когда используется дочерняя тема и нужно получить её URL.
-
Используйте get_template_directory(), когда нужно получить путь до папки темы.
- Используйте plugin_dir_url(), когда нужно получить URL для плагина.
Работает на основе: get_theme_root_uri(), get_template()
Основа для: get_parent_theme_file_uri(), get_theme_file_uri()
1 раз — 0.002132 сек (очень медленно) | 50000 раз — 3.37 сек (быстро) | PHP 7.1.2, WP 4.7.3
Хуки из функции
Возвращает
Строку
. URL темы (шаблона).
Использование
get_template_directory_uri();
Примеры
#1 Использование функции в HTML теге
Для безопасности результат функции нужно очищать через esc_url() или esc_attr().
Впрочем такую очистку нужно делать абсолютно для всех функций которые используются в атрибутах тегов. Например, если такой очистки не будет, то ваш код не пройдет проверку при размещении темы/плагина в офф репозитории. Пример очистки:
<img src="<?php echo esc_url( get_template_directory_uri() ); ?>/screenshot.png">
#2 Получим путь до шаблона:
echo get_template_directory_uri(); // получим: http://example.com/wp-content/themes/theme_name
#3 Используем функцию, чтобы подключить скрипт:
add_action( 'wp_enqueue_scripts', 'my_scripts_method' ); function my_scripts_method(){ wp_enqueue_script( 'custom_script', get_template_directory_uri() . '/js/custom_script.js', ['jquery'] ); }
Список изменений
С версии 1.5.0 | Введена. |
Код get_template_directory_uri() get template directory uri WP 6.6.2
function get_template_directory_uri() { $template = str_replace( '%2F', '/', rawurlencode( get_template() ) ); $theme_root_uri = get_theme_root_uri( $template ); $template_dir_uri = "$theme_root_uri/$template"; /** * Filters the active theme directory URI. * * @since 1.5.0 * * @param string $template_dir_uri The URI of the active theme directory. * @param string $template Directory name of the active theme. * @param string $theme_root_uri The themes root URI. */ return apply_filters( 'template_directory_uri', $template_dir_uri, $template, $theme_root_uri ); }