Mécanisme des Custom Post Types WordPress, usages et limites

Mécanisme des Custom Post Types WordPress, usages et limites

Si WordPress est devenu depuis quelques années un CMS complet, l’introduction de la notion des Custom Post Types a été un vrai tournant et sa carte d’entrée dans la cours des grands. Ce mécanisme permet de créer des types de contenu riches et variés autres que les pages ou les articles proposés par défaut. C’est à partir de la version 2.9 que la fonction register_post_type() a été intégrée pour permettre enfin la création de nouveaux types de contenus !

Usages

Le nouveau type de contenu créé est accessible via un menu séparé dans l’administration de la même manière que les pages ou les articles avec un listing des entrées et des commandes d’ajout et d’édition. il est également possible d’ajouter le support des tags et des catégories ou créer des taxonomies personnalisées. Pour rappel,  une taxonomie est un nouveau type personnalisé de catégories ou de tags.

Prenons l’exemple d’un Custom Post Type film. Les Meta Box (champs) possibles peuvent être le Réalisateur, l’Année, le Pays, la Durée, l’Affiche… etc. Il serait intéressant de créer une nouvelle taxonomie “Genre” et de l’utiliser avec ce nouveau type de contenu. Cela permettra de créer des filtres ou des pages d’archive par Genre plus facilement comme on fait classiquement avec des tags ou des catégories.

Il est également possible de configurer d’autres options comme la position du nouveau type dans le menu d’administration, le niveau d’accès utilisateur, des permaliens personnalisés ou son indexation ou non par le moteur de recherche WordPress.

Quid de la partie présentation? il suffit de créer les fichiers templates single-{nom-du-type}.php et archive-{nom-du-type}.php pour personnaliser respectivement l’affichage de la page single et la page archive du nouveau type. Dans notre exemple, la page single-film.php contiendra des appels vers les différents champs du film (réalisateur, affiche…) pour afficher une fiche film personnalisée.

Limites

La limite de ce modèle est l’absence d’un gestionnaire de Custom Post Types comme dans Drupal où il est possible de créer de nouveaux types de contenus rapidement depuis l’administration et d’y associer des taxonomies et des champs personnalisés à l’aide d’assistants.

Quelques solutions de générateurs automatiques de Custom Post Types WordPress existent mais restent limitées en termes de possibilités qu’offre l’implémentation. Nous retenons l’excellente extension Types qui permet de créer et gérer les Custom Types et les taxonomies. Mais bien que stable et complète, il est préférable de passer par la méthode manuelle pour garder un contrôle total sur la structure des données et la réutilisabilité du code.

Aller plus loin

Cet article présente d’une manière simple le mécanisme et l’usage des Custom Post Types qui est assez complet dans WordPress. Cette fonctionnalité est très bien documentée dans le Codex WordPress. Vous pourrez y trouver tous les détails techniques des implémentations évoquées dans ce billet.

Enfin, si vous avez besoin d’aide ou de conseils, n’hésitez pas à contacter nos experts pour un devis gratuit 😉

Recommandations