Une fonction qui affiche le titre pour chaque modèle de page WordPress

12/10/2018

Aucun commentaire

WordPress est le CMS le plus utilisé sur la toile pour développer des sites administrables (30% du web mondial).

Il fournit par défaut un ensemble de modèle de pages pour générer vos pages web, on l’appelle « Template Hierarchy ».

WordPress utilise la « query string » pour déterminer quel modèle ou ensemble de modèle de page doit être utilisé pour afficher la page.

Prenons l’exemple fournit par WordPress :

Si votre blog est à l’adresse http://exemple.com/blog/ et qu’un visiteur clique sur un lien vers une page de catégorie telle que http://exemple.com/blog/category/licorne/, WordPress recherche un modèle dans le répertoire du thème actuel qui correspond à l’ID de la catégorie pour générer la page correcte.

Plus précisément, WordPress suit cette procédure :

Recherche un fichier de modèle dans le répertoire du thème actuel qui correspond au slug de la catégorie si :

  • Le slug de catégorie est « licorne », WordPress recherche alors un fichier de modèle nommé category-licorne.php.
  • La category-licorne.php est manquante et que l’ID de la catégorie est 4, WordPress recherche un fichier de modèle nommé category-4.php.
  • Le modèle category-4.php est manquant, WordPress recherchera un fichier de modèle de catégorie générique, category.php.
  • Category.php n’existe pas, WordPress recherchera un modèle d’archive générique, archive.php.
  • Si archive.php est également manquant, WordPress revient au fichier de modèle de thème principal, index.php.

Vous comprenez maintenant un peu mieux comment fonctionne la hiérarchie de modèle de page WordPress.

Et comment afficher le titre de la page pour chacun de ces modèles ?

Malheureusement WordPress ne fournit pas de fonction php générique permettant d’afficher le titre pour chacun de ces modèles.

Chacun de ces modèles a une fonction spécifique pour retourner le titre de la page.

Par exemple :

  • Pour une page d’article, WordPress va utiliser le modèle single.php et pour afficher le titre de l’article on utilise la fonction the_title().
  • Pour une page d’archive , WordPress va utiliser le modèle archive.php et pour afficher le titre de la page d’archive on utilise la fonction the_archive_title().

L’idée de cet article est donc de créer une fonction qui va nous permettre d’afficher ou retourner le titre pour tous les modèles de page existants.

Voici notre fameuse fonction :

Cette fonction est basée sur la fonction wp_title() de WordPress qui permet de générer le titre de la page dans la balise <title></title>.

Pour l’utiliser il suffit d’appeler la fonction des manières suivantes :

J’espère qu’elle vous sera utile pour vos prochains projets WordPress !