forked from mirror/_s
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:
commit
cfda0096b3
|
@ -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.
|
||||||
*
|
*
|
||||||
|
|
|
@ -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' ); ?>">
|
||||||
|
|
||||||
|
|
|
@ -35,37 +35,52 @@ 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.
|
||||||
* @param string $title Default title text for current view.
|
*
|
||||||
* @param string $sep Optional separator.
|
* @param string $title Default title text for current view.
|
||||||
* @return string The filtered title.
|
* @param string $sep Optional separator.
|
||||||
*/
|
* @return string The filtered title.
|
||||||
function _s_wp_title( $title, $sep ) {
|
*/
|
||||||
if ( is_feed() ) {
|
function _s_wp_title( $title, $sep ) {
|
||||||
|
if ( is_feed() ) {
|
||||||
|
return $title;
|
||||||
|
}
|
||||||
|
|
||||||
|
global $page, $paged;
|
||||||
|
|
||||||
|
// 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 a page number if necessary:
|
||||||
|
if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
|
||||||
|
$title .= " $sep " . sprintf( __( 'Page %s', '_s' ), max( $paged, $page ) );
|
||||||
|
}
|
||||||
|
|
||||||
return $title;
|
return $title;
|
||||||
}
|
}
|
||||||
|
add_filter( 'wp_title', '_s_wp_title', 10, 2 );
|
||||||
|
endif;
|
||||||
|
|
||||||
global $page, $paged;
|
if ( ! function_exists( '_wp_render_title_tag' ) ) :
|
||||||
|
/**
|
||||||
// Add the blog name
|
* Title shim for sites older than WordPress 4.1.
|
||||||
$title .= get_bloginfo( 'name', 'display' );
|
*
|
||||||
|
* @link https://make.wordpress.org/core/2014/10/29/title-tags-in-4-1/
|
||||||
// Add the blog description for the home/front page.
|
* @todo Remove this function when WordPress 4.3 is released.
|
||||||
$site_description = get_bloginfo( 'description', 'display' );
|
*/
|
||||||
if ( $site_description && ( is_home() || is_front_page() ) ) {
|
function _s_render_title() {
|
||||||
$title .= " $sep $site_description";
|
echo '<title>' . wp_title( '|', false, 'right' ) . "</title>\n";
|
||||||
}
|
}
|
||||||
|
add_action( 'wp_head', '_s_render_title' );
|
||||||
// Add a page number if necessary:
|
endif;
|
||||||
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 );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the authordata global when viewing an author archive.
|
* Sets the authordata global when viewing an author archive.
|
||||||
|
|
Reference in New Issue