Două tag-uri de titlu în header
În prezent construiesc un child theme și am o secțiune <head>
foarte simplă în 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>
Presupun că wp_head()
este responsabil pentru al doilea element <title>
(apare exact acolo în HTML-ul final), dar alte surse spun că acest lucru este imposibil.
Ar trebui să elimin tag-ul <title>
din header.php, sau să adaug ceva în functions.php pentru a elimina titlul din wp_head()
(de ex. remove_action('wp_head', 'title'
) ?
Sau ar trebui să fac altceva cu totul?
Cele două tag-uri de titlu pot fi explicate prin faptul că utilizați o temă care este scrisă pentru WordPress 4.1 și de fapt folosiți versiunea 4.1. Începând cu versiunea 4.1, nu mai este necesar să apelați wp_title()
în head, puteți utiliza noul tag de suport pentru temă title_tag
care adaugă automat tag-ul wp_title()
în header.
Tema părinte pe care o utilizați face probabil deja acest lucru. Căutați în fișierul functions.php următoarea linie de cod:
add_theme_support( 'title-tag' );
Ca soluție, copiați fișierul header.php
din tema părinte în tema copil și pur și simplu eliminați funcția wp_title()
din fișierul header.php
al temei copil.
Iată și o funcție utilă de reținut pentru compatibilitate inversă și este folositoare pentru dezvoltatorii de teme părinte: (Preluat din 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' );
}
