Dos etiquetas title en mi cabecera
Estoy construyendo un child theme y actualmente tiene una sección <head>
muy simple en header.php:
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-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' ); ?>">
<!--[if lt IE 9]>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/html5shiv.min.js"></script>
<![endif]-->
<?php wp_head(); ?>
</head>
Supongo que wp_head()
es responsable del segundo elemento <title>
(aparece justo ahí en el HTML final), pero otras cosas que he leído dicen que esto es imposible.
¿Debería eliminar el <title>
de mi header.php, o debería agregar algo a mis funciones para eliminar el título de wp_head()
(por ejemplo, remove_action('wp_head', 'title'
)?
¿O debería hacer algo completamente diferente?
Las dos etiquetas de título pueden explicarse como que estás usando un tema que está escrito para WordPress 4.1 y actualmente estás usando la versión 4.1. A partir de la versión 4.1, ya no necesitas llamar a wp_title()
en el encabezado, puedes hacer uso de la nueva etiqueta de soporte de tema title_tag
que automáticamente añade la etiqueta wp_title()
en el encabezado.
El tema padre que estás usando probablemente ya está haciendo esto. Busca en tu archivo functions.php esta línea de código:
add_theme_support( 'title-tag' );
Como solución, copia el archivo header.php
del tema padre a tu tema hijo y simplemente elimina la función wp_title()
del archivo header.php
del tema hijo.
Aquí también hay una gran función para tener en cuenta para la compatibilidad con versiones anteriores y es útil para desarrolladores de temas padres: (Tomado del codex)
if ( ! function_exists( '_wp_render_title_tag' ) ) {
function theme_slug_render_title()
{
?>
<title>
<?php wp_title( '|', true, 'right' ); ?>
</title>
<?php
}
add_action( 'wp_head', 'theme_slug_render_title' );
}
