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

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_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_url и template_directory
УРЛ на директорию темы. Псевдоним функции 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).
siteurl и home
Запрещены с версии 2.2. Используйте site_url() и home_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 />
//в результате на экране появится такая надпись: Короткое описание блога: <здесь описание>

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

<?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>'
			) );
		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 = get_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 mixed $output The URL returned by bloginfo().
			 * @param mixed $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 mixed $show   Type of information requested.
			 */
			$output = apply_filters( 'bloginfo', $output, $show );
		}
	}

	return $output;
}

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

Из метки: bloginfo

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

get_bloginfo 10 комментариев
  • Serg

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

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

    Ответить4 года назад #
    • Kama4660

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

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

      Ответить4 года назад #
  • А можно дописать свою переменную?

    Ответить3.3 года назад #
    • Kama4660

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

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

        Ответить3.3 года назад #
        • Kama4660

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

          Ответить3.3 года назад #
  • адениум cайт: proluba.ru/store.category18904.html

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

    Ответить2.1 года назад #
  • campusboy1946 cайт: www.youtube.com/c/wpplus

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

    Ответить1.5 года назад #
    • Kama4660

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

      Ответить1.5 года назад #
      • campusboy1946 cайт: www.youtube.com/c/wpplus

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

        Ответить1.5 года назад #

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

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