Skip to content

Commit

Permalink
First pass at better title handling for WordPress 4.1+ with proper ba…
Browse files Browse the repository at this point in the history
…ck compatibility baked in.
  • Loading branch information
Philip Arthur Moore committed Nov 11, 2014
1 parent 23d0a41 commit 83792b8
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 19 deletions.
8 changes: 8 additions & 0 deletions functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,14 @@ function _s_setup() {
// Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' );

/*
* Let WordPress manage the document title.
* By adding theme support, we declare that this theme does not use a
* hard-coded <title> tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support( 'title-tag' );

/*
* Enable support for Post Thumbnails on posts and pages.
*
Expand Down
1 change: 0 additions & 1 deletion header.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php wp_title( '|', true, 'right' ); ?></title>
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">

Expand Down
48 changes: 30 additions & 18 deletions inc/extras.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,30 +42,42 @@ function _s_body_classes( $classes ) {
* @param string $sep Optional separator.
* @return string The filtered title.
*/
function _s_wp_title( $title, $sep ) {
if ( is_feed() ) {
return $title;
}
if ( ! function_exists( '_wp_render_title_tag' ) ) :
function _s_wp_title( $title, $sep ) {
if ( is_feed() ) {
return $title;
}

global $page, $paged;
global $page, $paged;

// Add the blog name
$title .= get_bloginfo( 'name', 'display' );
// Add the blog name
$title .= get_bloginfo( 'name', 'display' );

// Add the blog description for the home/front page.
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) ) {
$title .= " $sep $site_description";
}
// Add the blog description for the home/front page.
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) ) {
$title .= " $sep $site_description";
}

// Add a page number if necessary:
if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
$title .= " $sep " . sprintf( __( 'Page %s', '_s' ), max( $paged, $page ) );
// Add a page number if necessary:
if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
$title .= " $sep " . sprintf( __( 'Page %s', '_s' ), max( $paged, $page ) );
}

return $title;
}
add_filter( 'wp_title', '_s_wp_title', 10, 2 );
endif;

return $title;
}
add_filter( 'wp_title', '_s_wp_title', 10, 2 );
/**
* Title shiv for blogs older than WordPress 4.1
*/
if ( ! function_exists( '_wp_render_title_tag' ) ) :
function _s_render_title() {
echo '<title>' . wp_title( '|', false, 'right' ) . "</title>\n";
}
add_action( 'wp_head', '_s_render_title' );
endif;

/**
* Sets the authordata global when viewing an author archive.
Expand Down

0 comments on commit 83792b8

Please sign in to comment.