get_bloginfo

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

✈ 1 раз = 0.00019с = быстро | 50000 раз = 6.07с = быстро
Хуки из функции:
bloginfo
bloginfo_url
Возвращает

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

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

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 – язык сайта.

  • stylesheet_url – УРЛ на CSS стили сайта (обычно это файл style.css). Используйте лучше функцию get_stylesheet_uri().

  • stylesheet_directory – УРЛ на директорию темы, где находится файл стилей. Используйте лучше функцию get_stylesheet_directory_uri().

  • template_url и template_directory – УРЛ на директорию темы. Для дочерних тем оба варианта: get_bloginfo(‘template_url’) и get_template() получат родительскую директорию, поэтому используйте get_template_directory_uri() для родительских директорий темы или get_stylesheet_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. Используйте home_url() или bloginfo(‘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 />
//в результате на экране появится такая надпись: Короткое описание блога: <здесь описание>

Код из


wp-includes/general-template.php

WP 4.7.3

<?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;
}