Catégories : WordPress

Créer un Custom Post Type (CPT) sur WordPress

Vous avez besoin d’un type de contenu distinct des principaux types de publication de WordPress tels que les pages et les articles, vous pouvez créer un custom post type qui répond aux besoins spécifiques de votre site web WordPress.

Si vous avez besoin d’ajouter de la complexité à votre site internet pour le rendre unique et plus adapté à vos besoins spécifiques, vous pouvez demander de l’aide à un développeur WordPress freelance, qui dispose des compétences nécessaires pour personnaliser votre site web.

À travers ce tutoriel, on vous donne la définition de custom post type de WP et on vous guide pour pouvoir créer, personnaliser, afficher et supprimer un custom post type dans votre site web.

 

Qu’est-ce qu’un custom post type WordPress ?

Un custom post type est une fonctionnalité de WordPress qui vous permet de créer des types de contenus personnalisés tels que les événements, les portfolios, les témoignages, etc. Cela vous permet de mieux organiser votre contenu web et de créer une expérience utilisateur plus cohérente et agréable pour les visiteurs de votre site internet.

Un custom post type vous permet de personnaliser l’interface d’administration et l’affichage des nouveaux types de contenu sur votre site à travers la création de modèles de page dans le même thème que votre site web WordPress.

Une fois que vous avez créé votre nouveau type de contenu, vous pouvez le remplir avec du contenu à l’aide de l’éditeur de contenu standard de WordPress, tout comme pour les pages et les articles.

La création d’un CPT peut être réalisée en modifiant le code source PHP ou en utilisant un plugin WordPress dédié pour la création de CPT, ce qui facilite grandement cette tâche, même si vous n’êtes pas familier avec le développement WordPress.

 

Comment créer le custom post type dans le thème WordPress ?

Pour commencer, on va considérer que vous voulez présenter des témoignages sur votre site internet. On va donc créer un type de publication nommé « témoignage » (il est important de choisir un nom unique et significatif pour le CPT). Pour ce faire on déclare la fonction « codeur_register_post_types() » dans le fichier « functions.php » dans le répertoire de votre thème WordPress (chemin: /wp-content/themes/nom_du_theme/). Ajoutez le code suivant à la fin de votre fichier et modifiez-le en fonction de vos besoins.

 

Dans cet exemple, on a utilisé la fonction « register_post_type(‘nom-du-type-de-contenu’, $args) » pour enregistrer le CPT en définissant les arguments « $args » les plus couramment utilisés qu’on va les détailler par la suite :

« labels » : Dans ce tableau on va définir les phrases qui apparaissent dans l’interface d’administration de WordPress pour donner du contexte. En revanche, si vous ne mettez rien, le CMS utilisera les libellés par défaut comme « Ajouter une publication », « Modifier la publication », « Supprimer la publication »…

« public » : On a la possibilité de définir notre CPT comme public ou privé. Par exemple, il sera public dans le contexte d’un thème pour être affiché sur le site web et privé lors de la création d’extensions car dans ce cas il sert uniquement à stocker des informations.

« show_in_rest » : Si cette valeur est définie sur « true », notre CPT sera inclus dans l’API REST et pourra être consulté via des requêtes REST.

« has_archive » : Comme l’indique son nom, il est utilisé pour activer ou désactiver la prise en charge des archives pour ce CPT.

« supports » : Avec cet argument on peut choisir les champs affichés dans l’interface d’administration de nos publications (title, editor, author, thumbnail, excerpt, comments… ).

« menu_position » : On peut choisir l’endroit où apparaître notre CPT dans la barre d’administration de WP.

« rewrite » : Cet argument permet de définir le slug utilisé pour notre CPT.

« menu_icon » : On peut attribuer une icône à notre CPT pour pouvoir le distinguer visuellement.

Si vous voulez utiliser d’autres paramètres, on vous invite à lire la documentation officielle.

Concernant la déclaration du premier paramètre à savoir « nom-du-type-de-contenu » faites attention aux accents et espaces. Le slug sera déterminé par cette valeur qui sera affichée dans l’URL. Si vous mettez des espaces, vous auriez une erreur. Et pour terminer, il ne nous reste plus qu’à appeler le Hook « init ».

Sauvegardez les modifications et rendez-vous dans votre interface d’administration WordPress. Votre type de publication apparaît dans le menu de gauche :

Personnaliser la taxonomie du CPT

La taxonomie est un outil WordPress qui permet d’organiser les contenus en différentes catégories ou étiquettes. Pour personnaliser la taxonomie d’un custom post type, utilisez la fonction « register_taxonomy(‘nom-de-votre-taxonomie’, ‘nom-du-custom-post-type’, $args) » toujours dans le fichier « functions.php ».

Voici un exemple de code qui montre comment créer une nouvelle taxonomie appelée « Types de témoignages » pour notre type de publication personnalisé « Témoignages » :

N’oubliez pas de remplacer les valeurs dans cet exemple par vos propres valeurs. Vous ajoutez des taxonomies autant que vous le souhaitez dans la fonction « codeur_custom_taxonomy() » selon vos besoins.

Par exemple, on a créé deux types de témoignages : « Témoignages clients » et « Témoignages de partenaires » comme il est indiqué dans la capture d’écran suivante :

Afficher les custom post types sur WordPress

Avant d’afficher les custom post types et les taxonomies, il est nécessaire de rafraîchir la structure des permaliens. En effet, on doit informer WP de la nouvelle URL du CPT. Pour ce faire, accédez à la barre d’administration Réglages > Permaliens et cliquez simplement sur le bouton « Enregistrer les modifications » sans apporter de modifications à vos paramètres actuels.

À ce stade, vous pouvez commencer à ajouter des éléments pour votre CPT (postes de témoignages dans notre exemple) via l’interface d’administration de WP.

1. Afficher la taxonomie

Pour pouvoir afficher les taxonomies personnalisées que vous avez créées sur votre site WP et plus précisément sur la page du nouveau CPT, vous devez modifier le template associé de votre thème, car WordPress ne peut pas deviner automatiquement les taxonomies que vous avez ajoutées.

Ainsi, vous devez créer un nouveau template pour le nouveau CPT. Réellement, WordPress utilise automatiquement le schéma de la hiérarchie pour déterminer le template à utiliser en fonction de la hiérarchie des fichiers modèles. Il suffit donc de copier le fichier « archive.php » du thème parent, le coller dans votre thème enfant et le renommer « archive-slug-de-votre-custom-post-type.php » (Exemple : archive-temoignages.php).

Ensuite, dans ce fichier on fait appelle à la fonction « the_terms( identifiant du CPT, ‘nom-de-votre-taxonomie’, ‘un libellé option’ ) » indiquée dans la ligne de code suivante, à l’endroit où vous souhaitez afficher les termes de taxonomie personnalisée.

Dans ce tuto on intègre ce code dans la boucle qui sert à afficher les témoignages. Attention à bien utiliser le nom de votre taxonomie que vous avez déclaré plus haut dans la fonction « register_taxonomy() »

 

2. Afficher le CPT

On va maintenant vérifier que notre CPT ainsi que ses taxonomies sont affichés correctement. Pour y accéder, Il nous faut seulement taper son slug (Le nom déclaré plus haut dans la fonction «register_post_type » ) juste après l’URL de votre site web. Pour notre exemple, cela donne : https://mon-site/temoignages/

L’image 1 montre le résultat de l’affichage du CPT créé.

L’image 2 montre le résultat de l’affichage du CPT et ses taxonomies en apportant des modifications visuelles au thème choisi.

3. Intégrer un CPT dans les menus WordPress

Pour finir votre travail en beauté, il ne vous reste qu’ajouter un lien vers votre CPT dans le menu de votre site WP. Pour ce faire, allez dans Apparence > Menus dans l’interface d’administration WP. Si votre CPT apparaître dans la section « Types de publications » tant mieux, dans ce cas vous pouvez l’ajouter à votre menu comme n’importe quel autre élément. Si non vous devez ajouter l’URL du CPT à la main dans la rubrique « liens personnalisés ».

Comment supprimer un custom post type de mon site WordPress ?

Si le custom post type n’est plus pertinent pour votre site web, vous avez la possibilité de le supprimer. Vous pouvez utiliser la fonction « unregister_post_type(‘nom-du-type-de-contenu’) ». Voici un exemple de code :

Ou encore, vous pouvez simplement retirer la déclaration du CPT dans votre thème. Il est important de noter que vos publications CPT continueront d’exister dans la base de données WP. En conséquence, si vous rétablissez la déclaration, vous pouvez accéder à nouveau à vos éléments.

 

Notre astuce pour créer un custom post type sur WordPress

En ayant suivi ce tutoriel, vous devriez être en mesure de créer n’importe quel type de contenu personnalisé, avec autant de taxonomies que vous voulez, en modifiant les codes selon vos besoins.

Pour aller plus loin en termes de personnalisation vous pouvez adapter l’apparence de vos CPT et taxonomies au design de votre site web, ce qui nécessite des connaissances de base en programmation WordPress.

Pour atteindre cet objectif, vous pouvez faire appel à un freelance, en postant une annonce gratuite sur Codeur.com, qui vous aidera à modifier les templates WordPress selon vos préférences.

Partager