WordPress.org

Codex

fr:Marqueurs de Modele/in category

Page d'accueil du Codex en français - Télécharger WordPress en français
Les utilisateurs francophones se retrouvent sur le site WordPress-Francophone, notamment sur son forum d'entraide.

Contents

Description

Retourne vrai si l'article en cours est contenu dans la Catégorie (en anglais) spécifié. Habituellement ce marqueur est utilisé dans la Boucle, mais la variage $post doit être définie si utilisé en dehors de la Boucle.

Utilisation

Supposez que vous voulez exécuter des instructions spécifiques PHP (en anglais) ou HTML (en anglais) uniquement si l'article en cours est dans une catégorie avec un identifiant numérique (ID) spécifique (que nous représenterons ici par 'category_id').

<?php if ( in_category('category_id') ): ?>
  // Instructions PHP/HTML spécifiques à la catégorie
<?php endif; ?>

Exemples

Afficher un Texte de Catégorie Spécifique

Affiche <span class="good-cat-5">C'est une catégorie sympa</span> dans chaque article de la catégorie 5, sinon affiche <span class="bad-cat">C'est une MAUVAISE catégorie</span>.

<?php if ( in_category(5) ) {
echo '<span class="my-cat-5">C\'est une catégorie sympa</span>';
} else {
echo '<span class="bad-cat">C\'est une MAUVAISE catégorie</span>';
}
?>

Utilisation EN DEHORS de la Boucle

Habituellement, ce marqueur est utilisé à l'intérieur de la Boucle (en anglais) car il dépend d'une variable PHP de WordPress ($post) à laquelle une valeur n'est affectée qu'à l'exécution de la Boucle. Cependant, vous pouvez affecter manuellement une valeur à cette variable puis utiliser le marqueur.

Par exemple, supposons que vous vouliez que le Fichier de Modèle (Templates) (en anglais) single.php de votre Thème affiche une page complètement différente en fonction de la catégorie où se trouve l'article sélectionné. Vous pouvez appeler in_category() depuis l'intérieur de la Boucle, mais cela ne paraît pas pratique pour votre modèle. Utilisez alors l'exemple suivant pour remplacer votre single.php dans votre Thème.

<?php
 $post = $wp_query->post;
 if ( in_category('17') ) {
 include(TEMPLATEPATH . '/single2.php');
 } else {
 include(TEMPLATEPATH . '/single1.php');
 }
 ?>

Cela sélectionnera single2.php comme modèle pour l'affichage des articles de la catégorie 17, et single1.php pour les autres catégories.

Paramètres

category_id 
(entier) ID de la catégorie que vous souhaitez tester. Le paramètre peut être passé en tant qu'entier ou en tant que chaîne :
  • in_category(5)
  • in_category('5')

Options de Plugin

Le plugin Custom Post Templates - Modèles Personnalisés d'Articles (en anglais) permet la création de modèle pour des articles uniques. Il expose également un exemple sur la méthode à employer pour appliquer un modèle à tous les articles d'une catégorie donnée, et pas seulement à un seul. Cet exemple est laissé en commentaire dans le plugin par défaut mais peut facilement être intégré en otant les commentaires sur les lignes appropriées.

En relation

the_category, the_category_rss, the_category_ID (Obsolète), the_category_head (Obsolète), single_cat_title, category_description, dropdown_cats (Obsolète), list_cats, wp_list_cats, in_category, get_category_parents, get_the_category

Retour à la Liste des Marqueurs