What template am I using? Understanding the WordPress template hierarchy.

Sometimes I find that when I’m developing a theme, changes I make to .php and .css files sometimes don’t seem to have any effect on my theme, no matter how many times I reload the page in a browser or empty the browser’s cache. This is often because WordPress isn’t loading the template file I think it is. This is very true when you’re first developing a brand new site and may not have may posts/tags etc..

The standard advice is to familiarise yourself with WordPress’ template hierarchy – not only does the Codex explain when a template is being used, there is also a helpful flow chart provided by Chip Bennett. The problem is that the documentation often isn’t 100% accurate – for example WordPress won’t use an archive.php template if you’ve only got one post – it will use index.php instead.

A solution to this is to add some code that lets you check what template file WordPress is using: fortunately that value is stored in a global variable called $template. The code below adds a menu item to the WordPress Admin Bar that tells you what template is being used. The function checks if you are on an Admin screen or on your site, and adds an appropriate menu item.

// removes and adds links/menus from the admin bar
function edwp_admin_bar_render() {
	global $wp_admin_bar;

	$wp_admin_bar->add_group( array( 
		'parent' => 'site-name', 
		'id' => 'theme' ) 
		);

	if ( !is_admin() ) {
		global $template;
		$short_path = explode(get_stylesheet_directory(), $template,2); 
		$wp_admin_bar->add_menu( array(
		'parent'=>'theme',
		'id' => 'template',
		'title' => 'Template: '.$short_path[1],
		'href' => ''
		));
	}

	if ( is_admin() ) {
		global $current_screen;
		$wp_admin_bar->add_menu( array(
		'parent'=>'theme',
		'id' => 'cur_screen',
		'title' => 'Admin screen: '.$current_screen->base,
		'href' => ''
		));
	}

}
add_action( 'wp_before_admin_bar_render', 'edwp_admin_bar_render',10);

Whatever happened to metricmail.com?

Not so long ago there was a great little company called Metric Mail that sent you weekly emails that summarised your web traffic data that had been captured by Google Analytics. It was a really useful little service and I recommended it to many people who were just starting web sites and who found the whole process of tracking their web traffic complex and intimidating.

So whatever happened to metricmail? Their website just says ‘We know it’s been quiet lately’ and they’ve not sent out any analyses since June 2012…?