WordPress’ Bloginfo Explained
One of the most useful template tags you’ll use in WordPress is
bloginfo. As the name suggests, it lets you dynamically show information about your blog. That’s the important bit. Your blog. So when you’re designing a [theme] for public release, you can accommodate for all sort of different situations.
So what can I use
All sorts of different things. Here’s the complete list, courtesy of the codex. It doesn’t make too much sense on it’s own if you don’t already know what you’re doing, so I’ve added in a little explanation below each.
admin_email = admin@example
Email of the administrator.
atom_url = http://example/home/feed/atom
Atom feed URL
charset = UTF-8
The character ecoding system (not particularily interesting – used in the ).
comments_atom_url = http://example/home/comments/feed/atom
Atom feed for all comments on the blog.
comments_rss2_url = http://example/home/comments/feed
RSS feed for all comments on the blog.
description = Just another WordPress blog
The description (or tagline) of your blog, as set under ‘Settings’ in the backend.
url = http://example/home
Homepage of the blog.
html_type = text/html
Type of HTML used (again, not too interesting :P).
language = en-GB
Language used on the blog.
name = Testpilot
Name or title of your blog, as set under ‘Settings’ in the backend.
pingback_url = http://example/home/wp/xmlrpc.php
URL to which pingbacks should be sent.
rdf_url = http://example/home/feed/rdf
a general method for conceptual description or modeling of information that is implemented in web resources; using a variety of syntax formats.
rss2_url = http://example/home/feed
RSS feed for the blog.
rss_url = http://example/home/feed/rss
URL of the RSS feed.
siteurl = http://example/home
URL of the site.
stylesheet_directory = http://example/home/wp/wp-content/themes/largo
Directory where the style.css file is located, should be used for child theme.
stylesheet_url = http://example/home/wp/wp-content/themes/largo/style.css
URL of the stylesheet.
template_directory = http://example/home/wp/wp-content/themes/largo
Directory of your theme.
template_url = http://example/home/wp/wp-content/themes/largo
URL of the theme.
text_direction = ltr
Direction in which the text reads (ie left to right).
version = 2.8.5
Version of WordPress the blog is running.
wpurl = http://example/home/wp
URL of the WordPress installation (sometimes different to where the homepage is).
bloginfo be used?
Good question. It should be used for ‘stuff’ that is unique to your installation of WordPress (for example the title or homepage). Let’s say we want to send a link to the homepage. On your installation it’s at /word/, but on mine it’s at /press/! You want to share the theme you’re using with me, so obviously I’m going to have to change all the links to the homepage, right? Not true. Using the
siteurl parameter, the homepage URL can be dynamically generated. So instead of links reading:
They should be:
<a href="<?php bloginfo('siteurl'); ?>Homepage</a>
That format applies to all uses of
<?php bloginfo('parameter_here'); ?>
Stylesheet URL. On my installation it’s /press/wp-content/themes/Biblioteca/style.css but on yours it’s /word/wordpress-installed-in-a-different-directory-to-the-homepage/wp-content/themes/Biblioteca/style.css.
Bloginfo to the rescue again – instead of:
<link rel="stylesheet" href="/press/wp-content/themes/Biblioteca/style.css" type="text/css" media="screen,projection" />
You can dynamically generate the stylesheet URL:
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen,projection" />
The final example I’ll do today is the title. On my blog it’s Press! but on yours it’s Word! Using the
name parameter we can dynamically generate the title:
<h2><?php bloginfo('name'); ?></h2>
And with that, we’re done. Enjoy your new-found knowledge!