post_class()
Définition : post_class() produit des classes CSS liées à une publication WordPress précise, notamment son type, son statut ou certaines taxonomies. Elle permet de différencier les cartes d’articles dans un template classique.
Terminologie
Nom technique : post_class()
Appellations : Nom principal utilisé
À quoi cela sert, concrètement
Elle fournit des sélecteurs de présentation prêts à l’emploi pour les listes, les archives et les pages individuelles, sans devoir composer à la main chaque catégorie ou état CSS.
Fonctionnement détaillé
WordPress calcule les classes relatives au contenu courant ou à l’identifiant fourni, et peut ajouter les classes passées explicitement. Les filtres du Core permettent également d’ajuster le résultat.
Quand l’utiliser : contexte et choix techniques
L’utiliser sur un élément HTML qui représente un article ou une page. Ne pas supposer que le même contenu possède partout les mêmes classes si les contextes et arguments diffèrent.
Situation professionnelle réaliste
Une page d’archive affiche plusieurs cartes ; les publications d’une catégorie donnée peuvent être stylées différemment à partir de leurs classes générées.
Exemple pratique — PHP commenté
Exemple pédagogique : adapter le nom du thème, les fichiers et les conditions à un environnement de développement. Il ne constitue pas une preuve d’exécution sur ATOOLPHA.
<?php
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
echo '<article '; post_class( 'carte-documentation' ); echo '>';
the_title( '<h2>', '</h2>' );
the_excerpt();
echo '</article>';
}
}
Décryptage de l’exemple, étape par étape
Dans la boucle, chaque article devient le contenu courant avant l’appel à post_class(). La fonction ajoute une liste de classes CSS sur la balise article, puis le titre et l’extrait sont rendus avec les fonctions natives.
Résultat observable
Chaque carte reçoit les classes propres à sa publication et la classe fixe carte-documentation. Un CSS peut ensuite cibler un type de contenu ou une catégorie spécifique.
Exercice de vérification pratique
Afficher une archive comportant des articles de catégories différentes. Inspecter les classes générées sur chaque article et vérifier que les sélecteurs choisis ne s’appliquent pas de manière involontaire.
Pièges, limites et sécurité
Ne pas utiliser des classes CSS comme mécanisme de contrôle d’accès ou de filtrage de données sensibles : elles ne modifient que la présentation. Vérifier la sémantique article et les niveaux de titres.
Différences avec les notions voisines
post_class() décrit un contenu individuel ; body_class() décrit le contexte de la page entière.
Diagnostic avancé et cas de maintenance
Cas avancé : les cartes d’une archive ont toutes le même style malgré des taxonomies différentes. Vérifier les classes générées par WordPress pour chaque publication et la structure réelle des éléments article. Ces classes sont des repères de présentation ; elles ne doivent pas conduire à exposer des données normalement privées.
Termes et fonctions associés
- body_class()
- The Loop
