Introduction : pourquoi utiliser un Custom Post Type WordPress ?
Par défaut, WordPress propose deux types de contenus principaux : les articles et les pages. Ces deux formats suffisent pour un blog classique, mais deviennent rapidement limitants lorsqu’un site évolue. Dès que l’on souhaite gérer des contenus spécifiques comme des projets, des témoignages, des événements ou des offres, la structure native de WordPress montre ses limites.C’est là qu’intervient le Custom Post Type WordPress. Il permet de créer des types de contenus personnalisés, parfaitement adaptés aux besoins du projet, tout en conservant la puissance et la simplicité de WordPress.Dans cet article, nous allons voir comment créer un Custom Post Type WordPress, pourquoi il est essentiel dans un projet professionnel, et surtout comment l’implémenter avec un exemple concret et réutilisable.Qu’est-ce qu’un Custom Post Type WordPress ?
Un Custom Post Type WordPress est un type de contenu personnalisé, distinct des articles et des pages. Chaque Custom Post Type possède :- Son propre menu dans l’administration
- Ses champs dédiés
- Ses règles d’affichage
- Sa logique métier
- Un site vitrine peut avoir un Custom Post Type « Projets »
- Un site e-commerce peut utiliser « Produits »
- Un site institutionnel peut gérer des « Événements »
Pourquoi créer un Custom Post Type WordPress ?
Créer un Custom Post Type WordPress présente plusieurs avantages :- Structure claire : chaque type de contenu a son rôle
- Meilleure expérience admin : interface plus lisible
- SEO optimisé : URLs propres et sémantiques
- Scalabilité : le site évolue sans hack
- Moins de plugins inutiles
Comment créer un Custom Post Type WordPress (méthode code)
La méthode la plus propre pour créer un Custom Post Type WordPress consiste à utiliser la fonction nativeregister_post_type().Étape 1 : ajouter le code dans functions.php
Voici un exemple concret pour créer un Custom Post Type WordPress nommé « Projets ».
functions.php
function sm_register_custom_post_type_projets() {
$labels = array(
'name' => 'Projets',
'singular_name' => 'Projet',
'menu_name' => 'Projets',
'name_admin_bar' => 'Projet',
'add_new' => 'Ajouter un projet',
'add_new_item' => 'Ajouter un nouveau projet',
'edit_item' => 'Modifier le projet',
'new_item' => 'Nouveau projet',
'view_item' => 'Voir le projet',
'search_items' => 'Rechercher un projet',
'not_found' => 'Aucun projet trouvé',
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'projets'),
'menu_icon' => 'dashicons-portfolio',
'supports' => array('title', 'editor', 'thumbnail'),
'show_in_rest' => true,
);
register_post_type('projets', $args);
}
add_action('init', 'sm_register_custom_post_type_projets');Explication du code du Custom Post Type WordPress
register_post_type(): fonction native WordPresslabels: textes affichés dans l’adminpublic: rend le Custom Post Type visiblehas_archive: active la page d’archiverewrite: définit l’URL SEO-friendlysupports: champs disponiblesshow_in_rest: compatibilité Gutenberg et API REST
Ajouter des champs personnalisés à un Custom Post Type WordPress
Un Custom Post Type WordPress devient vraiment puissant lorsqu’il est associé à des champs personnalisés.La solution la plus propre est d’utiliser Advanced Custom Fields (ACF) pour ajouter :- Date du projet
- Client
- Lien du site
- Technologies utilisées
SEO et Custom Post Type WordPress
Un Custom Post Type WordPress bien configuré est un excellent levier SEO :- URL propre (
/projets/nom-du-projet) - Contenu sémantique clair
- Possibilité d’optimiser chaque type de contenu
- Ajouter des balises title uniques
- Rédiger des descriptions pertinentes
- Créer des templates dédiés (
single-projets.php,archive-projets.php)
