From c6720facd968e5a157b0a3d7b707a39498f6c38a Mon Sep 17 00:00:00 2001 From: Lance Willett Date: Fri, 15 Mar 2013 18:15:58 +0000 Subject: [PATCH] Twenty Eleven: use a filter to modify the output of `wp_title()`. Props obenland, see #23774. git-svn-id: http://core.svn.wordpress.org/trunk@23718 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-content/themes/twentyeleven/functions.php | 31 ++++++++++++++++++++ wp-content/themes/twentyeleven/header.php | 22 +------------- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/wp-content/themes/twentyeleven/functions.php b/wp-content/themes/twentyeleven/functions.php index aafa083eb0..745a2733da 100644 --- a/wp-content/themes/twentyeleven/functions.php +++ b/wp-content/themes/twentyeleven/functions.php @@ -614,3 +614,34 @@ function twentyeleven_body_classes( $classes ) { } add_filter( 'body_class', 'twentyeleven_body_classes' ); +/** + * Creates a nicely formatted and more specific title element text + * for output in head of document, based on current view. + * + * @since Twenty Eleven 1.6 + * + * @param string $title Default title text for current view. + * @param string $sep Optional separator. + * @return string Filtered title. + */ +function twentyeleven_wp_title( $title, $sep ) { + global $paged, $page; + + if ( is_feed() ) + return $title; + + // Add the site name. + $title .= get_bloginfo( 'name' ); + + // Add the site description for the home/front page. + $site_description = get_bloginfo( 'description', 'display' ); + if ( $site_description && ( is_home() || is_front_page() ) ) + $title = "$title $sep $site_description"; + + // Add a page number if necessary. + if ( $paged >= 2 || $page >= 2 ) + $title = "$title $sep " . sprintf( __( 'Page %s', 'twentyeleven' ), max( $paged, $page ) ); + + return $title; +} +add_filter( 'wp_title', 'twentyeleven_wp_title', 10, 2 ); diff --git a/wp-content/themes/twentyeleven/header.php b/wp-content/themes/twentyeleven/header.php index 59b6d3b140..ac90ee2912 100644 --- a/wp-content/themes/twentyeleven/header.php +++ b/wp-content/themes/twentyeleven/header.php @@ -24,27 +24,7 @@ -<?php - /* - * Print the <title> tag based on what is being viewed. - */ - global $page, $paged; - - wp_title( '|', true, 'right' ); - - // Add the blog name. - bloginfo( 'name' ); - - // Add the blog description for the home/front page. - $site_description = get_bloginfo( 'description', 'display' ); - if ( $site_description && ( is_home() || is_front_page() ) ) - echo " | $site_description"; - - // Add a page number if necessary: - if ( $paged >= 2 || $page >= 2 ) - echo ' | ' . sprintf( __( 'Page %s', 'twentyeleven' ), max( $paged, $page ) ); - - ?> +<?php wp_title( '|', true, 'right' ); ?>