WordPress как на ладони
wordpress jino

get_stylesheet_directory_uri() WP 1.5

Получает URL текущей темы, не содержит слэша на конце. Учитывает дочернюю тему. Учитывает SSL.

Возвращаемый УРЛ не содержит слэша (/) на конце: http://site.ru/wp-content/themes/twentyten

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

Если нужно подключить локальный файл, то вам нужна не ссылка а путь, используйте для этого функцию: get_stylesheet_directory().

Результатом работы функции будет веб-адрес начинающийся с http:// или https:// для SSL. Так, эту функцию удобно использовать для ссылок на картинки и дополнительные файлы темы, например css стили скрипты.

Чтобы получить URL стилей темы: файла style.css можно использовать специальную функцию get_stylesheet_uri().

Эта функция аналог get_bloginfo( 'stylesheet_directory' );, но рекомендуется использовать эту функцию.

Используется в: get_stylesheet_uri().
Работает на основе: get_theme_root_uri(), get_stylesheet()
✈ 1 раз = 0.000068с = очень быстро | 50000 раз = 1.02с = быстро PHP 7.0.2, WP 4.4.1
Хуки из функции:
Возвращает

Строку. УРЛ без слеша (/) на конце.

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

$theme_url = get_stylesheet_directory_uri();

Примеры

#1. Демонстрация работы функции. Выведем на экран картинку из нашей темы:

<img src="<?php echo get_stylesheet_directory_uri() ?>/images/aternus.png" alt="" title="" width="" height="" />

#2. Вставка css стилей в head часть страницы:

<link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri() ?>/style.css" />

Код get stylesheet directory uri: wp-includes/theme.php WP 4.8.2

<?php
function get_stylesheet_directory_uri() {
	$stylesheet = str_replace( '%2F', '/', rawurlencode( get_stylesheet() ) );
	$theme_root_uri = get_theme_root_uri( $stylesheet );
	$stylesheet_dir_uri = "$theme_root_uri/$stylesheet";

	/**
	 * Filters the stylesheet directory URI.
	 *
	 * @since 1.5.0
	 *
	 * @param string $stylesheet_dir_uri Stylesheet directory URI.
	 * @param string $stylesheet         Name of the activated theme's directory.
	 * @param string $theme_root_uri     Themes root URI.
	 */
	return apply_filters( 'stylesheet_directory_uri', $stylesheet_dir_uri, $stylesheet, $theme_root_uri );
}

Cвязанные функции

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

Еще из метки: URL (УРЛ Ссылка)

Еще из раздела: Другие функции темы

Danya 50
Программист фрилансер. Кодингом на PHP занимаю с 2008 года.

ПРЕМЬЕР-ПОСТ

почтовые услуги ПРЕМЬЕР-ПОСТ

www.directmails.ru

get_stylesheet_directory_uri 6 комментариев
  • campusboy1848 cайт: wp-plus.ru

    Если нужно нужно подключить локальный файл, то вам нужна не ссылка а пусть, используйте для этого функцию: get_stylesheet_directory().

    Может быть "путь"?

    Эта функция аналог get_bloginfo( 'stylesheet_directory' ), но лучше использовать её.

    Кого, её? Честно сказать, не понял, get_bloginfo или get_stylesheet_directory_uri? И почему такое уточнение?

    Ответить1.7 года назад #
    • Kama4464

      Спасибо, поправил. И

      Если нужно нужно подключить

      Тоже поправил smile

      Ответить1.7 года назад #
  • Nexus cайт:

    Эта функция аналог get_bloginfo( 'stylesheet_directory' );, но рекомендуется эту функцию.

    После "рекомендуется" слово "использовать" пропущено, по-моему.

  • Рыгор

    Здравствуй Kama, спасибо за твою энциклопедию вордпрессаsmile
    вопрос по функции. в настройках сайта стоит адрес с https, но почему то в хидере стили и скрипты шаблона вставляются с http. в functions идет подключение стилей с этой функцией.
    примеры

    wp_enqueue_style('skeleton', get_stylesheet_directory_uri().'/css/skeleton.css');
    		wp_enqueue_style('flex', get_stylesheet_directory_uri().'/css/flexslider.css');
    Ответить25 дней назад #
    • Kama4464

      А функция is_ssl() что возвращает? Она должна работать, что-то не так у тебя с установкой HTTPS, может сервер гонит...

      $_SERVER[ 'HTTPS' ] = 'on'; // чтобы is_ssl() всегда возвращала true

      Это попробуй в конфиг вставить, но это жестко. Подробнее тут читай.

      Ответить20 дней назад #

Здравствуйте, !

Ваш комментарий