Maîtriser les types d’articles personnalisés de WordPress : un guide pratique complet, de la création à la publication.

Lecture en 3 minutes
2026-03-17
2026-06-04
2,433
Je reçois une commission lorsque vous achetez via les liens ci‑dessous, sans frais supplémentaires pour vous.

Qu'est-ce que les types d'articles personnalisés de WordPress ?

WordPress propose par défaut deux types de contenu : les “ Articles ” et les “ Pages ”. Cependant, cela ne suffit souvent pas pour construire des sites web complexes. Il est alors possible de créer des types de contenu personnalisés (Custom Post Types, ou CPT pour abréger). CPTC’est une fonctionnalité essentielle de WordPress qui permet aux développeurs de créer de nouveaux types de contenu disposant de leur propre structure de données et d’une interface de gestion en back-office. On peut l’imaginer comme un “ modèle de contenu ” permettant de gérer des informations de type spécifique.

Par exemple, un site de critiques de films pourrait utiliser le type d’article par défaut pour publier des nouvelles, tout en créant un type d’article personnalisé appelé “ Film ” pour gérer spécifiquement les informations sur les films. Chaque entrée concernant un film pourrait contenir des champs dédiés tels que le réalisateur, les acteurs principaux et les notes. Un site d’e-commerce pourrait créer le type d’article “ Produit ”, tandis qu’un site scolaire pourrait créer les types d’article “ Cours ” ou “ Professeur ”. En utilisant ces types d’articles personnalisés, il est possible de structurer et de gérer plus efficacement les données de manière adaptée à chaque type d’information. CPTLes différents types de contenus sont clairement séparés, ce qui permet une gestion des données plus efficace et jette également les bases solides pour la personnalisation des modèles et l’extension des fonctionnalités ultérieures.

Comment créer un type d'article personnalisé ?

Il existe principalement deux méthodes pour créer des types d’articles personnalisés dans WordPress : l’enregistrement via du code et l’utilisation de plugins. Pour les développeurs, maîtriser la méthode de l’enregistrement via du code est essentiel, car elle offre le plus grand degré de flexibilité et de contrôle, et facilite la gestion des versions, tant au niveau des thèmes que des plugins personnalisés.

Lectures recommandées Maîtriser pleinement les types d’articles personnalisés dans WordPress : de la création à des applications avancées

Enregistrer un type d'article personnalisé à l'aide du code

La méthode la plus standard et la plus recommandée consiste à… functions.php Utilisé dans un fichier ou un module fonctionnel indépendant. register_post_type La fonction est enregistrée. Elle accepte deux paramètres : l’identifiant (slug) du type d’article personnalisé et un tableau contenant tous les paramètres nécessaires.

Hébergement WordPress par UltraHost
Garantie de remboursement dans les 30 jours, bande passante illimitée et base de données, protection gratuite contre les attaques DDoS. Avantage de 501 TP4T pour les achats sur 3 ans.

Voici un exemple de base pour créer un type d'article personnalisé nommé “ Film ” :

function create_movie_post_type() {
    $labels = array(
        'name'               => '电影',
        'singular_name'      => '电影',
        'menu_name'          => '电影管理',
        'add_new_item'       => '添加新电影',
        'edit_item'          => '编辑电影',
        'view_item'          => '查看电影',
    );
    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'movie' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => 5,
        'menu_icon'          => 'dashicons-video-alt',
        'supports'           => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
    );
    register_post_type( 'movie', $args );
}
add_action( 'init', 'create_movie_post_type' );

Ce code fonctionne en… add_action Les hooks s’exécutent lors de l’initialisation de WordPress. create_movie_post_type Fonction. À l’intérieur de cette fonction, des étiquettes sont définies pour être affichées. $labels et les paramètres clés $argsLes paramètres clés comprennent :public Contrôle l'affichage en arrière-plan et en avant-plan.rewrite Définir des règles de réécriture des URL : les liens menant à un film spécifique seront ainsi modifiés. yoursite.com/movie/some-moviehas_archive Déterminer s'il faut mettre en place une page d'archivage (par exemple…) yoursite.com/movie/);supports L’array définit les fonctionnalités supportées par ce type de contenu, telles que les titres, les éditeurs, les images de présentation, etc.

Créer un type d'article personnalisé à l'aide d'un plugin

Pour les utilisateurs qui ne connaissent pas bien le code, les plugins représentent une excellente option pour se mettre au travail rapidement. Custom Post Type UI et Toolset Types sont deux plugins très populaires. Ils offrent une interface utilisateur intuitive qui vous permet de définir vos types de contenu en cochant des cases et en remplissant des formulaires. CPT Les différentes propriétés de ces éléments, telles que les étiquettes, le niveau de confidentialité, les fonctionnalités prises en charge, etc.

La création de fonctionnalités via des plugins est simple et rapide, mais elle entraîne généralement des requêtes supplémentaires à la base de données, et la configuration de ces plugins dépend eux-mêmes de leur nature. Lors du transfert d’un site web sur un autre hébergeur ou lors d’une mise à jour majeure, il peut être nécessaire de procéder à des étapes supplémentaires pour garantir que les paramètres des types d’articles personnalisés soient conservés. Par conséquent, pour les environnements de production ou les projets nécessitant une maintenance à long terme, l’utilisation de code personnalisé est généralement le choix le plus approprié.

Lectures recommandées Guide de développement de thèmes pour WordPress : Construire des thèmes personnalisés et performants à partir de zéro

Ajouter des champs personnalisés pour des types d’articles personnalisés

Les types d’articles personnalisés fournissent uniquement un cadre structurel. Pour qu’ils puissent stocker des informations uniques (comme la “ date de sortie ” d’un film ou le “ réalisateur ”), il est nécessaire d’utiliser des champs personnalisés (Custom Fields) ou des outils de métadonnées plus avancés (Meta Boxes). WordPress dispose d’une interface intégrée pour gérer ces champs personnalisés, mais elle est assez rudimentaire et ses fonctionnalités sont limitées, ce qui la rend peu adaptée à l’utilisation par les rédacteurs de contenu.

Utiliser le plugin de champs personnalisés avancés

Le plugin Advanced Custom Fields (ACC) est la norme de l’industrie pour la gestion des champs personnalisés. Il vous permet d’ajouter des champs personnalisés à différents types d’articles, via une interface graphique facile à utiliser. CPTCréez différents types de groupes de champs, tels que des champs de texte, des images, des boîtes de sélection, des relations de liaison, etc.

Par exemple, pour le mot “ film ”.” CPT Créez un groupe de champs comprenant les champs “Réalisateur”, “Acteurs principaux” et “Année de sortie”. Après avoir installé et activé le plugin ACF, accédez à sa page de paramètres, créez un nouveau groupe de champs et définissez la règle de positionnement comme “Type d’article égal à Film”. Ensuite, ajoutez successivement les champs “Réalisateur” (champ de texte), “Acteurs principaux” (champ de zone de texte) et “Année de sortie” (champ numérique). Après avoir enregistré ces modifications, vous verrez ces champs d’entrée intuitifs lors de la modification des informations sur les films en arrière-plan.

hosting.com Hébergement partagé
Hautes performances avec les CPU AMD EPYC, stockage SSD NVMe et LiteSpeed, support interne expert 24h/24 et 7j/7, mesures de sécurité avancées, notamment SSL, protection contre la force brute, les logiciels malveillants et le DDoS, économies pouvant aller jusqu'à 73%.

Créer des meta-balises personnalisées à l’aide de code

Si vous souhaitez contrôler tout entièrement via du code, vous pouvez le faire pour votre… CPT Développer des meta-boxes personnalisées implique l’utilisation de l’API des meta-boxes de WordPress ainsi que des fonctions de sauvegarde des données. Bien que la quantité de code soit importante, cela offre une totale liberté de personnalisation.

Voici un exemple simplifié montrant comment ajouter un champ “ Réalisateur ” pour les “ Films ” :

// 1. 添加元框
function add_movie_director_meta_box() {
    add_meta_box(
        'movie_director_meta_box', // 元框ID
        '导演信息', // 元框标题
        'render_movie_director_meta_box', // 回调函数,用于输出HTML
        'movie', // 目标文章类型
        'side', // 位置
        'default' // 优先级
    );
}
add_action( 'add_meta_boxes', 'add_movie_director_meta_box' );

// 2. 渲染元框内容
function render_movie_director_meta_box( $post ) {
    // 获取已保存的值
    $director = get_post_meta( $post->ID, '_movie_director', true );
    // 添加安全字段
    wp_nonce_field( 'movie_director_nonce_action', 'movie_director_nonce' );
    // 输出HTML
    echo '<label for="movie_director">导演姓名:</label>';
    echo '<input type="text" id="movie_director" name="movie_director" value="' . esc_attr( $director ) . '" style="width:100%;" />';
}

// 3. 保存元框数据
function save_movie_director_meta_data( $post_id ) {
    // 检查nonce、权限、自动保存等
    if ( ! isset( $_POST['movie_director_nonce'] ) || ! wp_verify_nonce( $_POST['movie_director_nonce'], 'movie_director_nonce_action' ) ) {
        return;
    }
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
        return;
    }
    if ( ! current_user_can( 'edit_post', $post_id ) ) {
        return;
    }
    // 保存数据
    if ( isset( $_POST['movie_director'] ) ) {
        update_post_meta( $post_id, '_movie_director', sanitize_text_field( $_POST['movie_director'] ) );
    }
}
add_action( 'save_post', 'save_movie_director_meta_data' );

Ce code crée une boîte métallique (« meta box ») située dans le sidebar, contenant un champ permettant d’entrer le nom d’un réalisateur. Il convient de noter que les données saisies sont soumises aux procédures de vérification de sécurité standard de WordPress lors de leur enregistrement. nonce Vérification, contrôle des autorisations et prévention du traitement répété lors des enregistrements automatiques. Les données enregistrées sont ensuite… update_post_meta Les fonctions sont stockées… wp_postmeta Dans le tableau.

Lectures recommandées Guide complet pour l'utilisation des plugins WooCommerce : de l'installation et de la configuration à la gestion de votre magasin en ligne

Créer un fichier de modèle pour un type d'article personnalisé

Créé. CPT Après avoir rempli le contenu, il est nécessaire de fournir un modèle pour l'affichage en front-end. WordPress utilise un système de hiérarchie des modèles et recherche automatiquement le fichier de modèle approprié pour afficher votre contenu.

Template pour un type d'article unique

Lorsque l'utilisateur accède à la page d'un film spécifique (par exemple…) yoursite.com/movie/inceptionLorsque vous créez un nouveau type de contenu, WordPress recherche les fichiers de modèle dans l’ordre suivant :
1. single-movie.php (Le plus concret)
2. single.php
3. singular.php
4. index.php

Hébergement partagé InterServer
Hébergement mutualisé $2.50 USD par mois, premier mois $0.1 USD code promo tryinterserver, 461 scripts cloud apps, installation en un clic.

Par conséquent, la meilleure pratique consiste à créer un fichier dans votre dossier de thèmes dont le nom est… single-movie.php Ce fichier vous permet de personnaliser entièrement la manière dont le film est affiché, en utilisant les champs personnalisés que vous avez créés précédemment.

<article id="post-<?php the_ID(); ?>" no numeric noise key 1008>
    <header class="entry-header">
        <h1 class="entry-title"></h1>
        <div class="entry-meta">
            <span>导演:</span>
        </div>
    </header>
    <div class="entry-content">
        
        <!-- 显示其他自定义字段,如主演、上映年份 -->
        <p><strong>Acteurs principaux :</strong><?php the_field( 'lead_actor' ); ?></p>
        <p><strong>Année de sortie :</strong><?php the_field( 'release_year' ); ?></p>
    </div>
</article>

Si vous utilisez le plugin ACF, vous pouvez profiter des fonctionnalités qu’il propose. the_field() La fonction permet de visualiser facilement les valeurs des champs. Si des champs ont été enregistrés à l’aide de code personnalisé, celui-ci sera utilisé. get_post_meta() Une fonction.

Template de la page d'archivage

Lorsque l'utilisateur accède à la page de la liste des films (par exemple…) yoursite.com/movie/Lorsque vous effectuez une telle action, WordPress recherche les éléments suivants :
1. archive-movie.php
2. archive.php
3. index.php

Créer archive-movie.php Vous pouvez utiliser des boucles WordPress dans ce fichier pour lister tous les films, et personnaliser vos requêtes ou mettre en place une pagination.

<h1>bibliothèque de films</h1>

    <article>
        <h2><a href="/fr/</?php the_permalink(); ?>"></a></h2>
        <?php the_post_thumbnail( 'medium' ); ?>
        <p>导演:</p>
        
    </article>
<?php endwhile; the_posts_navigation(); else : ?>
    <p>Aucun film disponible pour le moment.</p>

résumés

Maîtriser les types d’articles personnalisés dans WordPress est une étape essentielle pour sortir du cadre d’un simple blog et créer des sites web modernes, fonctionnels et bien structurés. register_post_type Le processus commence par l’enregistrement du code de la fonction, puis passe par l’ajout de champs personnalisés via le plugin ACF ou des boîtes de métadonnées personnalisées, pour finalement créer des éléments spécifiques en fonction de la hiérarchie des modèles. single-{cpt}.php et archive-{cpt}.php Le fichier de modèle, ainsi que l’ensemble du processus, forment un tout complet. CPT Développer des flux de travail.

À travers des projets concrets, nous avons créé un type de contenu appelé “ Film ”, qui dispose d’un menu administratif indépendant, de champs de données spécifiques et d’une présentation graphique personnalisée. Cette méthodologie peut être facilement adaptée à tout type de contenu, qu’il s’agisse de “ Produits ”, de “ Portfolios ” ou d“” Événements ». Comprendre et appliquer ces concepts améliorera considérablement vos compétences en tant que développeur WordPress, vous permettant de créer des expériences numériques vraiment personnalisées pour vos utilisateurs.

FAQ Foire aux questions

Quelle est la différence entre les types d’articles personnalisés et les systèmes de classification personnalisés ?

Les types d’articles personnalisés permettent de définir de nouvelles entités de contenu, telles que des “ films ” ou des “ produits ”. Les systèmes de classification personnalisés (comme des étiquettes ou des extensions des catalogues) servent à classer et à organiser ce contenu. Un type d’article personnalisé peut être associé à plusieurs systèmes de classification personnalisés. Par exemple, le type d’article “ Film ” peut être associé à plusieurs catégories ou étiquettes qui décrivent les caractéristiques spécifiques de ce type de contenu. CPT Il est possible de associer deux systèmes de classification personnalisés : “ Type ” (action, comédie) et “ Région ” (chinois, Hollywood).

Devrais-je enregistrer le CPT (Custom Post Type) dans le fichier `functions.php` de la thématique ou dans un plugin indépendant ?

Cela dépend de la complexité du projet ainsi que des exigences en matière de portabilité. Pour les projets étroitement liés à un thème spécifique et qui ne sont pas réutilisables… CPTIl peut être placé dans le sujet. functions.php Oui. Cependant, la meilleure pratique consiste à créer un plugin fonctionnel indépendant pour stocker tous les codes de registration des types d’articles et des catégories personnalisés. De cette façon, même si vous changez de thème, ces types de contenu et leurs données seront conservés, ce qui permet une meilleure séparation entre les “fonctionnalités” et l“”apparence” du site.

Comment modifier la structure des liens permanents d'un type d'article personnalisé existant ?

Vous pouvez vous enregistrer. CPT À ce moment-là, il passera… rewrite Les paramètres peuvent également être configurés après l’enregistrement. register_post_type_args Modifiez les paramètres du filtre. Après ces modifications, vous devez accéder à la page “ Paramètres ” → “ Liens permanents ” dans l’administration de WordPress, puis cliquer simplement sur “ Enregistrer les changements ” pour mettre à jour les règles de réécriture des liens. Sinon, la nouvelle structure des liens ne prendra peut-être pas effet.

Pourquoi ne vois-je pas les types d’articles personnalisés que j’ai créés dans l’interface utilisateur ?

Cela est généralement dû à des paramètres de registration mal configurés. Veuillez vérifier d’abord la fonction de registration. $args Dans l'arrêté 'public' et 'publicly_queryable' Sont- tous les paramètres bien définis ? trueDeuxièmement, assurez-vous que… 'show_ui' et 'show_in_nav_menus' Et aussi… trueEnfin, vérifiez le fichier de template (…)single-{cpt}.php Ou archive-{cpt}.phpA-t-il été créé correctement et se trouve-t-il dans le répertoire racine du thème de l’événement ?