web-dev-qa-db-fra.com

Changer les séparateurs dans les balises HTML <title> </ title>

J'utilise WP 4.7.3 et un ensemble de modèles personnalisés (mh-magazine).

Par défaut, WP définit une balise de titre du type "Titre de la page" - "Titre du blog".

Maintenant, tout ce que je veux réaliser est de remplacer "-" par un symbole de tuyau pour des raisons de disposition. Donc, le HTMl traité devrait ressembler à:

Titre de ma page | Le titre de mon blog

Je pensais que c'était facile à réaliser, mais je vois que j'ai besoin d'aide car je ne suis pas un expert en PHP ou WP.

2
Toby

Tout dépend de la structure du header.php de votre thème, mais la méthode la plus probable consiste à utiliser le filtre document_title_separator , comme dans

add_filter ('document_title_separator', 'wpse_set_document_title_separator') ;

function
wpse_set_document_title_separator ($sep)
{
    return ('|') ;
}

Possibilité-1:

Si votre thème a:

  1. add_theme_support( 'title-tag' ); quelque part dans votre fichier functions.php et

  2. wp_head() appel de fonction dans le fichier header.php

puis utiliser le filtre document_title_separator fonctionnera comme @ la réponse de Paul suggéré.

Si le filtre ne fonctionne pas même après avoir rempli les conditions ci-dessus, un plug-in le remplace peut-être. Essayez d’augmenter la priorité du filtre afin qu’il s’exécute en dernier, comme suit:

function wpse262196_document_title_separator( $sep ) {
    return '|';
}
add_filter( 'document_title_separator', 'wpse262196_document_title_separator', PHP_INT_MAX );

ou si le filtre document_title_separator existe déjà dans le fichier functions.php de votre thème, changez-le ici.


Possibilité-2:

Votre thème n'inclut peut-être pas add_theme_support( 'title-tag' ); mais utilise l'ancien fichier <title><?php wp_title(); ?></title> in header.php.

Dans ce cas, vous pouvez le changer comme ceci: <title><?php wp_title( '|' ); ?></title> pour changer le séparateur.

Note: _ Il est vivement conseillé de le redéfinir en add_theme_support( 'title-tag' );, car wp_title() sera probablement obsolète.

De plus, si cela ne fonctionne pas, il se peut que votre plug-in le remplace à l'aide du filtre wp_title. Dans ce cas, utilisez le filtre ci-dessous dans votre fichier themes functions.php pour modifier le comportement:

function wpse262196_wp_title( $title, $sep, $seplocation ) {
    return str_replace( " $sep ", " | ", $title );
}
add_filter( 'wp_title', 'wpse262196_wp_title', PHP_INT_MAX );

ou si le filtre wp_title existe déjà dans le fichier functions.php de votre thème, changez-le ici.

Espérons qu'une des solutions fonctionnera pour vous.

2
Fayaz

Si vous souhaitez utiliser une route de plug-in, vous pouvez utiliser le plug-in Yoast SEO qui est un outil de référencement puissant et gratuit.

Remarque: Yoast SEO est un plugin SEO complet. Donc, si vous n'allez pas utiliser les autres fonctionnalités de référencement de Yoast et que vous devez changer le séparateur de titre, alors ce plugin sera excessif et les autres réponses fournies seront à la fois beaucoup plus légères et plus adaptées à vos besoins. .

  1. Installez-le à partir du référentiel WordPress (au sein de votre installation WordPress est le plus facile) comme vous le feriez avec n'importe quel autre plugin. Puis activez-le.
  2. Allez dans Yoast> Tableau de bord> Fonctionnalités et assurez-vous d'activer les "Paramètres avancés" et de cliquer sur Enregistrer.  Yoast - turn on Advanced Settings 
  3. Cliquez sur la page d'option "Titres et métas". Le tout premier onglet ("Général") vous permettra de spécifier globalement vos séparateurs de titre.  Title Separators 
1
Ian