get_bloginfo()WP 0.71

Retrieves information about the current site.

Possible values for $show include:

  • 'name' - Site title (set in Settings > General)
  • 'description' - Site tagline (set in Settings > General)
  • 'wpurl' - The WordPress address (URL) (set in Settings > General)
  • 'url' - The Site address (URL) (set in Settings > General)
  • 'admin_email' - Admin email (set in Settings > General)
  • 'charset' - The "Encoding for pages and feeds" (set in Settings > Reading)
  • 'version' - The current WordPress version
  • 'html_type' - The Content-Type (default: "text/html"). Themes and plugins can override the default value using the {@see 'pre_option_html_type'} filter
  • 'text_direction' - The text direction determined by the site's language. is_rtl() should be used instead
  • 'language' - Language code for the current site
  • 'stylesheet_url' - URL to the stylesheet for the active theme. An active child theme will take precedence over this value
  • stylesheet_directory Directory path for the active theme. An active child theme will take precedence over this value
  • 'template_url' / template_directory URL of the active theme's directory. An active child theme will NOT take precedence over this value
  • 'pingback_url' - The pingback XML-RPC file URL (xmlrpc.php)
  • 'atom_url' - The Atom feed URL (/feed/atom)
  • 'rdf_url' - The RDF/RSS 1.0 feed URL (/feed/rdf)
  • 'rss_url' - The RSS 0.92 feed URL (/feed/rss)
  • 'rss2_url' - The RSS 2.0 feed URL (/feed)
  • 'comments_atom_url' - The comments Atom feed URL (/comments/feed)
  • 'comments_rss2_url' - The comments RSS 2.0 feed URL (/comments/feed)

Some $show values are deprecated and will be removed in future versions. These options will trigger the _deprecated_argument() function.

Deprecated arguments include:

  • 'siteurl' - Use 'url' instead
  • 'home' - Use 'url' instead
Used By: bloginfo()
1 time — 0.00019 sec (fast) | 50000 times — 6.07 sec (fast)
Hooks from the function

Return

String. Mostly string values, might be empty.

Usage

get_bloginfo( $show, $filter );
$show(string)
Site info to retrieve.
Default: empty (site name)
$filter(string)
How to filter what is retrieved.
Default: 'raw'

Examples

1

#1 Demo examples

Let's pass the name of the blog to the variable $blog_title to use the variable somewhere afterwards.

<?php $blog_title = get_bloginfo(); ?>
//use a variable
<?php echo $blog_title ?>

The same will be returned by the function if you write it this way:

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

A possible example of the use of the function in a WordPress template:

<?php echo 'Blog short description: ' . get_bloginfo( 'description', 'display' ); ?>

// as a result the following inscription will appear on the screen: 
// A short description of the blog: <here description>
0

#2 Fields that can be specified in $show

The names that can be passed to the function in the $show parameter and what it will eventually output:

Option Description
name Site name: Settings > Basic
description Site Description: Settings > Basic
wpurl URL site (admin panel): Settings > Basic. The data is taken from the "siteurl" option wp_options. Alias site_url().
url URL site (front): Settings > Basic. The data is taken from the "home" option wp_options. Alias home_url()
admin_email Admin Email: Settings > Basic. The data is taken from "admin_email" in table wp_options.
charset Blog charset. The data are taken from "blog_charset" in table wp_options. Since version 3.5 the blog encoding is not configurable from the admin panel and this parameter is always utf-8.
version WP version. The data is taken from the variable $wp_version.
html_type The content type of the HTML page (default: "text/html"). The data is taken from "html_type" in the table wp_options. Themes and plugins can rewrite this variable through the hook pre_option_html_type.
language Site language (locale), for example ru-RU.
stylesheet_url URL to CSS stylesheet (usually style.css). Alias get_stylesheet_uri().
stylesheet_directory URL to the themes directory where the stylesheet file is located. Alias get_stylesheet_directory_uri().
template_directory
template_url
URL to the themes directory. Alias get_template_directory_uri().
pingback_url URL of the XML-RPC pings file (xmlrpc.php).
atom_url Atom feed URL (/feed/atom).
rdf_url RDF/RSS 1.0 feed URL (/feed/rfd).
rss_url RSS 0.92 feed URL (/feed/rss).
rss2_url RSS 2.0 feed URL (/feed).
comments_atom_url Atom feed comment URL (/comments/feed).
comments_rss2_url URL of RSS 2.0 comment feed (/comments/feed).
home Prohibited since version 2.2. Use home_url().
siteurl Prohibited since version 2.2. Use site_url().

Same parameters with values:

admin_email           = [email protected]
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
0

#3 Network Tagline

Using this example, you can obtain the name and description for the network home:

switch_to_blog(1);
$site_title = get_bloginfo( 'name' );
$site_url = network_site_url( '/' );
$site_description = get_bloginfo( 'description' );
restore_current_blog();

echo 'The Network Home URL is: ' . $site_url;
echo 'The Network Home Name is: ' . $site_title;
echo 'The Network Home Tagline is: ' . $site_description;  

results in this being displayed on your blog:

The Network Home URL is: http://example.com/
The Network Home Name is: Example
The Network Home Tagline is: The example site
0

#4 Fetch all info about a website

There should be a possibility to return the array of all available info. Although this might not be a good practice in terms of performance this should help someone who needs to fetch all info about a website.

function bloginfo_array() {

	$fields = array(
		'name', 'description', 'wpurl', 'url', 'admin_email', 
		'charset', 'version', 'html_type', 'text_direction', 'language'
	);
	$data = array();

	foreach( $fields as $field ) {
		$data[ $field ] = get_bloginfo( $field );
	}

	return $data;
}

Note that I’ve omitted some fields that might not be that important.

0

#5 Blog Tagline

Using this example:

<?php 
printf( 
	esc_html__( 'Your Blog Tagline is: %s', 'textdomain' ), 
	get_bloginfo ( 'description' ) 
); 
?>

Results in this being displayed on your blog:

Your Blog Tagline is: All things WordPress

Notes

  • Global. String. $wp_version The WordPress version string.

Changelog

Since 0.71 Introduced.

get_bloginfo() code WP 6.5.2

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

	if ( 'display' === $filter ) {
		if (
			str_contains( $show, 'url' )
			|| str_contains( $show, 'directory' )
			|| str_contains( $show, 'home' )
		) {
			/**
			 * 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;
}