changer le titre d’une page intégrée WordPress personnalisée

Publié par Jean-Michel le

Lorsque j’ai besoin d’ajouter une page personnalisée à un site basé sur WordPress, je charge toujours l’en-tête du thème en premier :

<?php
  require('../wp-blog-header.php');
  include('../wp-content/themes/mytheme/header.php');
?>

Malheureusement, chaque page personnalisée obtient le même titre (le nom du blog) en raison de ce code dans header.php :

<head>
<title><?php if(is_home()) { bloginfo('name');} else { bloginfo('name'); echo ' | '; the_title(); } ?></title>

Quelle serait la meilleure façon de changer le titre de cette page ?

  • Existe-t-il une méthode wordpress à appeler avant de charger l’en-tête qui modifiera the_title()la valeur de retour de ?
  • Dois-je modifier l’appel header.php afin qu’il vérifie s’il existe une valeur personnalisée précédemment définie pour mon titre ?

Merci,

Solution n°1 trouvée

En fait, vous pouvez regarder votre code d’en-tête comme ceci :

<?php
    if (is_home()) {
         bloginfo('name');
   } else {
         bloginfo('name'); echo ' | '; the_title();
    } ?>

Traduction : si (c’est votre maison) alors imprimez le nom du blog. Sinon, écrivez le nom du blog, un | barre et le titre de la page/du message.

Est-ce qu’il imprime UNIQUEMENT le nom du blog sur les pages personnalisées ou fonctionne-t-il correctement ?

Solution n°2 trouvée

Pour répondre à vos questions,

  1. Oui il y a; vous voudrez peut-être regarder WP Hooks and Filters. Une bonne liste des crochets et filtres disponibles pour WP 3.0 est ici.
  2. J’utiliserais probablement la is_page()fonction WP. Vous pouvez l’utiliser tel quel pour vérifier si WP rend une page personnalisée, ou fournir un paramètre (un identifiant, un titre de page, etc.) pour rechercher des pages plus spécifiques.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *