WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Авторские Темы для WordPress

get_template_directory_uri() WP 1.5

Получает URL родительской темы (вернет URL родительской темы, даже если используется дочерняя). Не содержит закрывающий слэш.

get_bloginfo('template_url'); — это алиас этой функции - при запросе этой опции будет вызвана эта фукнция.

Используйте функцию get_stylesheet_directory_uri(), если нужно получить URL дочерней темы, когда она используется.

Когда нужно получить путь до папки темы, используйте get_template_directory()

Когда нужно получить URL для плагина, используйте plugin_dir_url()

Работает на основе: get_theme_root_uri(), get_template()
1 раз — 0.002132 сек (очень медленно) | 50000 раз — 3.37 сек (быстро) | PHP 7.1.2, WP 4.7.3
Хуки из функции
Возвращает

Строку. URL темы (шаблона).

Использование

get_template_directory_uri();

Примеры

#1. Получим путь до шаблона:

echo get_template_directory_uri();

// получим: http://example.com/wp-content/themes/theme_name

#2. Используем функцию, чтобы подключить скрипт:

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']
	);
}

#3. Использование функции в HTML теге

Для безопасности результат функции нужно очищать через esc_url() или esc_attr().

Впрочем такую очистку нужно делать абсолютно для всех функций которые используются в атрибутах тегов. Например, если такой очистки не будет, то ваш код не пройдет проверку при размещении темы/плагина в офф репозитории. Пример очистки:

<img src="<?php echo esc_url( get_template_directory_uri() ); ?>/screenshot.png">

Список изменений

С версии 1.5.0 Введена.

Код get_template_directory_uri() WP 5.7.2

<?php
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 current theme directory URI.
	 *
	 * @since 1.5.0
	 *
	 * @param string $template_dir_uri The URI of the current theme directory.
	 * @param string $template         Directory name of the current theme.
	 * @param string $theme_root_uri   The themes root URI.
	 */
	return apply_filters( 'template_directory_uri', $template_dir_uri, $template, $theme_root_uri );
}

Из метки: theme path url (папка темы)

Еще из раздела: Подключение файлов темы

12 комментов
    Войти