Merge pull request #644 from Automattic/title-theme-support

Better WordPress title handling for WordPress 4.1+ with proper back compat.
This commit is contained in:
Philip Arthur Moore 2014-12-02 20:25:57 +07:00
commit cfda0096b3
3 changed files with 50 additions and 28 deletions

View File

@ -33,6 +33,14 @@ function _s_setup() {
// Add default posts and comments RSS feed links to head. // Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' ); 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. * Enable support for Post Thumbnails on posts and pages.
* *

View File

@ -11,7 +11,6 @@
<head> <head>
<meta charset="<?php bloginfo( 'charset' ); ?>"> <meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1"> <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="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>"> <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">

View File

@ -35,6 +35,7 @@ function _s_body_classes( $classes ) {
} }
add_filter( 'body_class', '_s_body_classes' ); add_filter( 'body_class', '_s_body_classes' );
if ( ! function_exists( '_wp_render_title_tag' ) ) :
/** /**
* Filters wp_title to print a neat <title> tag based on what is being viewed. * Filters wp_title to print a neat <title> tag based on what is being viewed.
* *
@ -66,6 +67,20 @@ function _s_wp_title( $title, $sep ) {
return $title; return $title;
} }
add_filter( 'wp_title', '_s_wp_title', 10, 2 ); add_filter( 'wp_title', '_s_wp_title', 10, 2 );
endif;
if ( ! function_exists( '_wp_render_title_tag' ) ) :
/**
* Title shim for sites older than WordPress 4.1.
*
* @link https://make.wordpress.org/core/2014/10/29/title-tags-in-4-1/
* @todo Remove this function when WordPress 4.3 is released.
*/
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. * Sets the authordata global when viewing an author archive.