Définition des types de contenus personnalisés et des taxonomies

Pour faire connaissance avec ces deux outils bien pratiques pour gérer son site et ses publications, entrons un peu plus en détails dans le mode de fonctionnement de WordPress coté technique (mais sans se prendre la tête dans le code non plus).

L’une des évolutions les plus notables à WordPress, qui l’a fait passer d’une simple plate-forme de blogging à un système de gestion de contenu à part entière, est l’ajout de différents types de contenu. Avant de nous plonger dans les arcanes les plus secrètes du système (ou pas), il est important que de comprendre ce que sont les types de contenu personnalisés, ou Custom Post Types dans la langue de Shakespeare (et on va pas se mentir, ça reste la plus utilisée par la communauté WordPress).

Un type de contenu personnalisé, c’est quoi ?

Dès son installation, WordPress embarque par défaut différents types de publication. Les plus courants, avec lesquels tu fais sans doute déjà joujou, sont les pages et les articles. Je t’invite à lire ou relire l’article qui explique la différence entre les pages et les articles. En résumé, les pages sont plutôt appropriées pour du contenu statique à valeur de « vérité générale », tandis que les articles peuvent être triés par catégorie ou étiquette, et sont rangés par ordre chronologique, donc plutôt pratique pour accueillir du contenu inscrit dans un temporalité définie, comme des actualités.

Lorsque tu crées un nouveau type de contenu, tu peux choisir son comportement par défaut, comme un article ou une page. Quel que soit ton choix, ton nouveau type de contenu héritera de toutes les caractéristiques de l’un ou l’autre, mais tu pourras lui appliquer une autre présentation, des styles différents, ou l’enrichir de comportements spécifiques. Tu les appelleras rapidement Custom Post Types, et pour bien les différencier, ils ont des onglet à part entière dans le menu d’administration de WordPress.

Qu’est-ce qu’une taxonomie ?

Maintenant, penchons nous sur les taxonomies. Il est important de comprendre ce qu’est une taxonomie. La définition d’une taxonomie est méthode de classification. Ca t’avance, hein ? En gros, ça signifie qu’une taxonomie est une façon d’organiser les données, ce qui te permet de relier un élément à d’autres éléments similaires dans un même groupe.

Par exemple, tu peux regrouper tous les articles qui traitent d’une même thématique grâce à une catégorie au nom soigneusement choisi.

Dans WordPress, il y a deux taxonomies par défaut que tu peux utiliser quand tu le souhaites. La première est le système de catégories, qui sont obligatoires pour les articles. Chaque article est lié à une catégorie. Les catégories sont dites hiérarchiques, de sorte que tu puisses avoir des relations parent-enfant entre elles, donc si tu vas sur la page de listing d’une catégorie parent, tu verras tous les articles sous cette catégorie parent, ainsi que n’importe quel article lié aux catégories enfants.

La deuxième taxonomie c’est celle des étiquettes, aussi appelées « tags » en anglais. Elles sont facultatives. Elles ne sont pas hiérarchisées, ce qui signifie qu’une étiquette ne se rapporte en aucune façon à une autre étiquette. Elles sont toutes au même niveau, et permettent d’appliquer une identification thématique à un contenu, par exemple.

Elles constituent une méthode d’organisation secondaire. Lorsque tu crées des taxonomies personnalisées, tu as le choix de créer soit des taxonomies hiérarchiques comme les catégories, soit non hiérarchiques comme les étiquettes. Ces taxonomies peuvent être rattachées à un ou plusieurs types de contenu et tu peux également faire en sorte que les taxonomies personnalisées s’appliquent à tes contenus habituels sur ton site.

Les taxonomies personnalisées peuvent avoir des modèles d’archives personnalisés, de sorte que tu puisses les afficher différemment de la façon dont vous afficheriez le listing des articles d’une catégorie et de l’archive des étiquettes. Enfin, les groupes de classification personnalisées permettent également une organisation plus avancée de ton contenu.

Où ajouter le code de création des Custom Post Types et des taxonomies ?

WordPress fait un travail incroyable pour séparer le fond, la fonctionnalité en elle même, la logique qu’il y a derrière, de la forme et l’apparence qu’elle prend. Si nous voulons agir sur le design de notre site, on se tournera du côté des thèmes, c’est quelque chose qui est indépendant du cœur de WordPress ou des contenus. Si nous voulons ajouter des fonctionnalités comme un formulaire de contact, nous irons du côté des extensions. Cela signifie que le contenu, l’apparence et la logique métier peuvent être complètement séparés les uns des autres. Par conséquent, nous devons respecter ces principes liés à WordPress et toujours se poser la question du juste emplacement de chaque élément.

Pendant longtemps, les types de contenus ou les taxonomies étaient ajoutés au thème. Si ton thème comporte des modèles de page spécifiques pour un type de contenu, ça semblait logique de l’inclure à cet endroit. Cependant, cette approche pose un problème. Si tu décides de changer de thème, tu désactives en fait le type de contenu parce qu’il est lié à ce thème.

Il est donc important de séparer les choses et d’adopter une double approche : par exemple en créant un plugin qui générera tous nos types de contenus personnalisés et nos taxonomies personnalisées. Cela donne également une plus grande souplesse pour la gestion du thème. Nous n’aurons pas besoin de prendre d’autres précautions pour conserver le contenu.

Puis pour améliorer l’apparence de ce qu’on vient de créer, tu pourras créer un thème enfant afin d’ajouter le ou les nouveaux modèles de page, et afficher tes types de contenus et taxonomies personnalisés.

D’une manière générale, une bonne règle à suivre est que si notre code affecte l’affichage du site, comme les modèles personnalisés ou le design, alors nous devons placé le code dans le thème. Si notre code ajoute des fonctionnalités, nous en faisons une extension. En gardant cela à l’esprit, passons à la création de nos types de contenu personnalisés et de nos taxonomies personnalisées, pour te donner la possibilité de publier les contenus exactement comme tu les avais imaginés !

Créer de nouveaux types de publication et des nouveaux système de classification

Je ne suis pas technicien•ne,
je n’ai jamais ouvert un éditeur de code

Créer des Custom Post Types sans code

Créer des nouvelles taxonomies sans savoir coder

J’aime mettre les mains dans le cambouïs,
je suis à l’aise avec le code

Créer des nouveaux types de publication avec register_post_type()

Créer des taxonomies avec register_taxonomy()