Comme vous le savez très probablement, difficile de passer à côté du CMS WordPress tant il est devenu populaire dans le monde. Le CMS permet de réaliser des sites de toute nature tels que le classique blog bien sûr, mais aussi un site e-commerce, un forum, une galerie photo, un portfolio, bref, c’est presque sans limites.
WordPress est très utilisé dans le monde, par de très nombreuses personnes et pourtant, il y a des fonctions qui sont pourtant très utiles mais encore méconnues. J’ai récemment eu le cas pour dépanner un client qui souhaitait faire des actions particulières, mais seulement sur certaines pages. Après quelques recherches, j’ai découvert que le CMS proposait nativement ce que l’on appelle des hooks.
C’est quoi un hook dans WordPress ?
Dans WordPress, un hook (ou point d’accroche) est un mécanisme qui permet à des développeurs de personnaliser ou d’interagir avec le fonctionnement de WordPress en utilisant du code personnalisé. Avec un hook vous allez pouvoir accrocher une page page mais pas une autre. Donc via du PHP vous pourrez par exemple afficher du contenu sur une page, mais votre code sera ignoré sur un autre type de page.
C’est vraiment très pratique et cela vous permet une certaine souplesse, car c’est le core de WordPress qui gère. Tout ce que vous avez à faire, c’est placer votre hook, avec quelques conditions si besoin et votre code s’exécutera seulement là ou vous le voulez. Avec les hook, vous pouvez alors facilement personnaliser votre WordPress à l’aide de fonctions très simples fournies par le CMS.
La liste des hooks WordPress pour cibler un type de page
Maintenant, passons en revue ce que WordPress nous propose nativement pour détecter sur quel type de page on se trouve :
- is_home() : cette fonction vérifie si la page affichée est la page d’accueil du site qui affiche l’ensemble des dernières publications (ou pas selon votre thème).
- is_single() : vérifie si la page affichée est une page de publication unique, sur WordPress, il s’agit normalement d’un article.
- is_archive() : cette fonction va vérifier si la page affichée est une archive, c’est en général une compilation des articles sur x temps, qui néanmoins est de moins en moins utilisé. Sur certains thèmes où c’est utilisé, vous verrez en général dans la sidebar, c’est peut-être aussi le cas de votre thème.
- is_category() : check si la page affichée est une catégorie, donc une page qui affiche une liste de publications d’une catégorie spécifique
- is_tag() : la page affichée est elle une page de tag
- is_author() : vérifie si la page affichée est une page qui affiche tous les articles postés par un auteur
- is_search() : ici, la fonction vérifie si la page affichée est une page de résultats de recherche
- is_404() : vérifie si la page affichée est une page d’erreur 404, une page qui n’existe pas et que l’on n’aime pas voir
Maintenant que vous avez les hooks WordPress principaux, vous pouvez alors exécuter du code PHP spécifiquement pour ces pages. Dans le code de votre WordPress, vous pouvez alors faire quelque chose de très simple qui ressemblerait à ça :
<?php if ( !is_home() && !is_category() ) { echo 'je suis sur la page principale ou sur une catégorie'; } ?>
Voilà, vous savez maintenant comment accrocher un certain type de page et lancer du code seulement sur celle-ci en particulier. Je ne vais pas rentrer dans les détails, mais cela est vraiment très pratique dans certains cas et selon ce que vous souhaitez faire.