El título de las páginas HTML (la etiqueta <title>) ha sido por mucho tiempo un elemento que los temas para WordPress tenían que introducir de forma manual. Por ejemplo, el header.php de un tema típico podía tener esta pinta:

<!DOCTYPE html>
<html <?php language_attributes();?>>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <title><?php wp_title( '|', true, 'right' ); ?></title>
    <?php wp_head(); ?>
</head>

Luego, era casi universal que el propio tema utilizase el filtro wp_title para modificar el título y añadir cosas como el nombre del sitio o el número de página en listados paginados. Con esta práctica era frecuente que se produciesen duplicidades al trabajar con plugins que modificaban el elemento <title>, generalmente plugins dirigidos al SEO, y que no tenían forma de saber si el tema u otro plugin generaba o no el elemento <title> por su cuenta.

Y llegó title-tag

En WordPress 4.1 se introdujo la característica title-tag para temas. Si un tema soporta esta característica, tiene que declararlo en el evento after_setup_theme o init, nunca después. Por ejemplo:

add_action( 'after_setup_theme', 'mitema_setup' );
function mitema_setup() {
    add_theme_support( 'title-tag' );
}

Al declarar que el tema soporta title-tag, se dice a WordPress que el tema no genera el elemento <title> y que deja a WordPress hacer el trabajo. El header.php ya no debe incluir <title> y quedaría algo así:

<!DOCTYPE html>
<html <?php language_attributes();?>>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <?php wp_head(); ?>
</head>

Por supuesto, puedes seguir utilizando el filtro wp_title si quieres modificar el título. Y si quieres que el tema sea compatible con versiones anteriores a WP 4.1 puedes utilizar este código:

if ( ! function_exists( '_wp_render_title_tag' ) ) {
  add_action( 'wp_head', function() {
    ?>
    <title><?php wp_title( '|', true, 'right' ); ?></title>
    <?php
  } );
}

La idea de sacar el elemento <title> de los temas tiene como objetivo implementar una forma estandarizada de trabajar con este elemento tan importante para un documento HTML. Por ejemplo, se planea implementar la configuración y personalización de los títulos desde la administración de WordPress cuándo el tema instalado soporta title-tag.

Referencias