title – Dos etiquetas de título en mi encabezado

Pregunta:

Estoy creando un tema hijo 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 href="http://gmpg.org/xfn/11">
  <link 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 allí 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 estar haciendo algo completamente diferente?

Respuesta:

Las dos etiquetas de título se pueden explicar como que está usando un tema que está escrito para WordPress4.1 y en realidad está usando 4.1. A partir de 4.1, ya no necesita llamar a wp_title() en la cabeza, puede hacer uso de la nueva etiqueta de soporte de tema title_tag que agrega automáticamente la etiqueta wp_title() en el encabezado

Lo más probable es que el tema principal que está utilizando ya esté haciendo esto. Busque en su functions.php esta línea de código

add_theme_support( 'title-tag' );

Como solución, copie el tema principal header.php a su tema secundario y simplemente elimine la función wp_title() del tema secundario header.php

Aquí también hay una gran función a tener en cuenta para la compatibilidad con versiones anteriores y es útil para los desarrolladores de temas principales: ( Tomado del códice )

 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' );
}

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım