WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru WPmentor - Ищем топовых специалистов по WordPress, чтобы помочь вам заработать

get_bloginfo() WP 0.71

Возвращает информацию о блоге из настроек. Копия bloginfo(), только эта функция получает результат в переменную, а не выводит его на экран.

Является основой для: bloginfo()
✈ 1 раз = 0.00019с = быстро | 50000 раз = 6.07с = быстро
Хуки из функции
Возвращает

Массив/строку/число. Указанные данные.

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

get_bloginfo( $show, $filter );
$show(строка)
Имя параметра информацию о котором нужно получить
По умолчанию: name (название блога)
$filter(строка)
Название фильтра через который нужно прогонять выводимую информацию. Может быть: display или raw. Если указано display, то результат фильтруется через фильтр bloginfo.
По умолчанию: 'raw'

Примеры

Имена которые можно передать функции в параметре $show и то, что в итоге она выведет:

Опция Описание
name Называние сайта: Настройки > Основные
description Описание сайта: Настройки > Основные
wpurl УРЛ сайта (админки): Настройки > Основные. Данные берутся из опции "siteurl" wp_options. Псевдоним site_url().
url УРЛ сайта (фронта): Настройки > Основные. Данные берутся из опции "home" wp_options. Псевдоним home_url()
admin_email Email администратора: Настройки > Основные. Данные берутся из "admin_email" в таблице wp_options.
charset Кодировка блога. Данные берутся из "blog_charset" в таблице wp_options. С версии 3.5 кодировка блога не настраивается из админки и этот параметр всегда равен utf-8.
version Версия WP. Данные берутся из переменной $wp_version.
html_type Тип контента HTML страницы (по умолчанию: "text/html"). Данные берутся из "html_type" в таблице wp_options. Темы и плагины могут переписать эту переменную через хук pre_option_html_type.
language Язык сайта (локаль), например ru-RU.
stylesheet_url УРЛ на CSS стили сайта (обычно это файл style.css). Псевдоним get_stylesheet_uri().
stylesheet_directory УРЛ на директорию темы, где находится файл стилей. Псевдоним get_stylesheet_directory_uri().
template_directory
template_url
УРЛ на директорию темы. Псевдоним get_template_directory_uri().
pingback_url УРЛ файла пингов XML-RPC (xmlrpc.php).
atom_url УРЛ Atom фида (/feed/atom).
rdf_url УРЛ RDF/RSS 1.0 фида (/feed/rfd).
rss_url УРЛ RSS 0.92 фида (/feed/rss).
rss2_url УРЛ RSS 2.0 фида (/feed).
comments_atom_url УРЛ Atom фида комментариев (/comments/feed).
comments_rss2_url УРЛ RSS 2.0 фида комментариев (/comments/feed).
home Запрещена с версии 2.2. Используйте home_url().
siteurl Запрещена с версии 2.2. Используйте site_url().

Те же параметры в примерах:

admin_email           = admin@example.ru
atom_url              = http://example.ru/feed/atom
charset               = UTF-8
comments_atom_url     = http://example.ru/comments/feed/atom
comments_rss2_url     = http://example.ru/comments/feed
description           = Just another WordPress blog
html_type             = text/html
language              = en-US
name                  = Testpilot
pingback_url          = http://example.ru/xmlrpc.php
rdf_url               = http://example.ru/feed/rdf
rss2_url              = http://example.ru/feed
rss_url               = http://example.ru/feed/rss
stylesheet_directory  = http://example.ru/wp-content/themes/largo
stylesheet_url        = http://example.ru/wp-content/themes/largo/style.css
template_directory    = http://example.ru/wp-content/themes/largo
template_url          = http://example.ru/wp-content/themes/largo
text_direction        = ltr
url                   = http://example.ru
version               = 2.7
wpurl                 = http://example.ru

Дефолтное использование. Передадим название блога в переменную $blog_title, чтобы затем использовать переменную где-нибудь.

<?php $blog_title = get_bloginfo(); ?>
//используем переменную
<?php echo $blog_title ?>

Тоже самое будет возвращено функцией, если написать так:

<?php $blog_title = get_bloginfo('name'); ?>

Возможный пример использования функции в шаблоне WordPress:

<?php echo 'Короткое описание блога: ' . get_bloginfo('description', 'display');  ?><br />
//в результате на экране появится такая надпись: Короткое описание блога: <здесь описание>

Заметки

  • Global. Строка. $wp_version The WordPress version string.

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

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

Код get bloginfo: wp-includes/general-template.php WP 5.4

<?php
function get_bloginfo( $show = '', $filter = 'raw' ) {
	switch ( $show ) {
		case 'home':    // Deprecated.
		case 'siteurl': // Deprecated.
			_deprecated_argument(
				__FUNCTION__,
				'2.2.0',
				sprintf(
					/* translators: 1: 'siteurl'/'home' argument, 2: bloginfo() function name, 3: 'url' argument. */
					__( 'The %1$s option is deprecated for the family of %2$s functions. Use the %3$s option instead.' ),
					'<code>' . $show . '</code>',
					'<code>bloginfo()</code>',
					'<code>url</code>'
				)
			);
			// Intentional fall-through to be handled by the 'url' case.
		case 'url':
			$output = home_url();
			break;
		case 'wpurl':
			$output = site_url();
			break;
		case 'description':
			$output = get_option( 'blogdescription' );
			break;
		case 'rdf_url':
			$output = get_feed_link( 'rdf' );
			break;
		case 'rss_url':
			$output = get_feed_link( 'rss' );
			break;
		case 'rss2_url':
			$output = get_feed_link( 'rss2' );
			break;
		case 'atom_url':
			$output = get_feed_link( 'atom' );
			break;
		case 'comments_atom_url':
			$output = get_feed_link( 'comments_atom' );
			break;
		case 'comments_rss2_url':
			$output = get_feed_link( 'comments_rss2' );
			break;
		case 'pingback_url':
			$output = site_url( 'xmlrpc.php' );
			break;
		case 'stylesheet_url':
			$output = get_stylesheet_uri();
			break;
		case 'stylesheet_directory':
			$output = get_stylesheet_directory_uri();
			break;
		case 'template_directory':
		case 'template_url':
			$output = get_template_directory_uri();
			break;
		case 'admin_email':
			$output = get_option( 'admin_email' );
			break;
		case 'charset':
			$output = get_option( 'blog_charset' );
			if ( '' == $output ) {
				$output = 'UTF-8';
			}
			break;
		case 'html_type':
			$output = get_option( 'html_type' );
			break;
		case 'version':
			global $wp_version;
			$output = $wp_version;
			break;
		case 'language':
			/*
			 * translators: Translate this to the correct language tag for your locale,
			 * see https://www.w3.org/International/articles/language-tags/ for reference.
			 * Do not translate into your own language.
			 */
			$output = __( 'html_lang_attribute' );
			if ( 'html_lang_attribute' === $output || preg_match( '/[^a-zA-Z0-9-]/', $output ) ) {
				$output = determine_locale();
				$output = str_replace( '_', '-', $output );
			}
			break;
		case 'text_direction':
			_deprecated_argument(
				__FUNCTION__,
				'2.2.0',
				sprintf(
					/* translators: 1: 'text_direction' argument, 2: bloginfo() function name, 3: is_rtl() function name. */
					__( 'The %1$s option is deprecated for the family of %2$s functions. Use the %3$s function instead.' ),
					'<code>' . $show . '</code>',
					'<code>bloginfo()</code>',
					'<code>is_rtl()</code>'
				)
			);
			if ( function_exists( 'is_rtl' ) ) {
				$output = is_rtl() ? 'rtl' : 'ltr';
			} else {
				$output = 'ltr';
			}
			break;
		case 'name':
		default:
			$output = get_option( 'blogname' );
			break;
	}

	$url = true;
	if ( strpos( $show, 'url' ) === false &&
		strpos( $show, 'directory' ) === false &&
		strpos( $show, 'home' ) === false ) {
		$url = false;
	}

	if ( 'display' == $filter ) {
		if ( $url ) {
			/**
			 * Filters the URL returned by get_bloginfo().
			 *
			 * @since 2.0.5
			 *
			 * @param string $output The URL returned by bloginfo().
			 * @param string $show   Type of information requested.
			 */
			$output = apply_filters( 'bloginfo_url', $output, $show );
		} else {
			/**
			 * Filters the site information returned by get_bloginfo().
			 *
			 * @since 0.71
			 *
			 * @param mixed  $output The requested non-URL site information.
			 * @param string $show   Type of information requested.
			 */
			$output = apply_filters( 'bloginfo', $output, $show );
		}
	}

	return $output;
}

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

Из метки: bloginfo

Еще из раздела: Опции сайта (настройки)

Еще из тегов шаблона: Основные

10 комментов
  • Serg

    Тимур, хорошо бы было, если бы ты в посте пояснил отличия
    stylesheet_directory
    template_directory
    template_url

    ЗЫ. и у тебя там по 2 слеша в урл закралось (в примерах).

    Ответить02.Ноя.2013 в 23:13 #
    • Kama7680

      Дополнил статью.

      template_directory = template_url, а stylesheet_directory выводит директорию файла стилей, которая обычно совпадает с директорией темы. Я точно не знаю когда, но они могут отличаться или переопределяться где-то. Видимо при использовании дочерних тем.

      Ответить03.Ноя.2013 в 02:30 #
  • А можно дописать свою переменную?

    Ответить16.Июл.2014 в 15:03 #
    • Kama7680

      Что вы хотите сделать? Не понятно. unknw

      Ответить16.Июл.2014 в 16:33 #
      • Хочу на главной странице сайта перед списком записей выводить некоторый текст, буквально пару строк, которые отличаются между собой по стилям. Задействовала для этого поля "название" и "описание сайта", которые потом в своей теме (переделанной стандартной) вывожу в нужном месте на главной. Но если мне понадобится еще пару строк создать, или может вообще не правильно эти поля так использовать. Как бы вы вывели эти слоганы? Посоветуйте, пожалуйста.

        Ответить17.Июл.2014 в 10:24 #
        • Kama7680

          Нет, думаю вы напрасно беспокоитесь. Вы только имейте ввиду, что они используются в заголовках страниц, возможно еще где-то и если вы меняете там текст, то это может не нормально выглядеть в других местах. В принципе поле "описание сайта" нормально использовать для слогана. Оно реже где-то фигурирует. А вот "Название" для этой цели использовать бы не рекомендовал. Что касается альтернатив, то думаю не стоит заморачиваться. Возможно проще просто в шаблоне написать руками то что нужно и все, если что потом залезть в шаблон и поменять. unknw

          Ответить24.Июл.2014 в 04:32 #
  • адениум proluba.ru/store.category18904.html

    А мне понравилось!!! очень толково написано. Успехов в написании подобных статей, Буди посещать чаще ваш сайт, ждем новых публикаций!!!

    Ответить16.Сен.2015 в 14:09 #
  • campusboy3503 www.youtube.com/c/wpplus

    В примерах, где используется echo, лучше использоваться фильтр display, я думаю.

    Ответить25.Мар.2016 в 20:31 #
    • Kama7680

      Спасибо, добавил. Хотя это не совсем очистка вроде, но все же это правильнее...

      Ответить25.Мар.2016 в 21:48 #
      • campusboy3503 www.youtube.com/c/wpplus

        Рад был помочь. Просто в коде функции bloginfo так, а что этот фильтр делает я не разобрался, не охота в дебри лезть smile

        Ответить25.Мар.2016 в 22:21 #