Qu’est-ce qu’un type d’article personnalisé ?
Les types d’articles (Post) et de pages (Page) intégrés à WordPress constituent deux types de contenu préétablis. Cependant, face à des besoins variés tels que la présentation de produits, la présentation des membres d’une équipe ou l’exposition de cas d’utilisation de projets, ces types de contenu peuvent se révéler insuffisants. Les types d’articles personnalisés (Custom Post Type, CPT) sont précisément des extensions conçues pour résoudre ce problème. Elles permettent aux développeurs de définir de nouveaux types de contenu dotés de champs spécifiques, de systèmes de classification personnalisés et d’interfaces de gestion exclusives, transformant ainsi WordPress d’un simple système de blog en un puissant système de gestion de contenu.
Contrairement à l’utilisation de champs personnalisés pour étendre les articles standard, les CPT (Content Types Personalized) créent des entités de contenu totalement indépendantes sur le plan logique. Par exemple, un CPT “ Produit ” peut disposer de son propre processus de publication, de sa propre page d’archivage et de sa propre page d’informations détaillées ; sa structure de données ainsi que son interface de gestion en back-office peuvent être adaptées spécifiquement aux caractéristiques du produit concerné. Cela améliore considérablement la clarté et la professionnalité de la gestion du contenu, tout en fournissant une base solide pour mettre en œuvre des structures de site web complexes.
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 visuels. Pour les développeurs qui recherchent les meilleures performances et un contrôle total, la rédaction de code est la méthode préférée.
Lectures recommandées Guide complet pour l’optimisation des performances de WordPress : de la configuration de base à l’accélération avancée par le cache。
Enregistrer un CPT (Claimed Product Type) via du code
La méthode la plus essentielle est d’utiliser… register_post_type Fonctions : Les développeurs doivent prendre en compte les fonctionnalités spécifiques du thème utilisé. functions.php Cette fonction peut être appelée à partir d'un fichier ou d'un module fonctionnel indépendant. En transmettant un identifiant unique (« slug ») ainsi qu'un tableau contenant divers paramètres, vous pouvez définir toutes les propriétés d’un nouveau type d’article, telles que les étiquettes, le niveau de visibilité, les fonctionnalités disponibles, les icônes des menus, etc.
Voici un exemple classique de création d'un type d'article personnalisé pour les “ produits ” :
function create_product_post_type() {
$labels = array(
'name' => '产品',
'singular_name' => '产品',
'add_new' => '添加新产品',
'add_new_item' => '添加新产品',
'edit_item' => '编辑产品',
'new_item' => '新产品',
'view_item' => '查看产品',
'search_items' => '搜索产品',
'not_found' => '未找到产品',
'not_found_in_trash' => '回收站中没有产品',
'menu_name' => '产品',
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'product' ),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 5,
'menu_icon' => 'dashicons-cart',
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields' ),
);
register_post_type( 'product', $args );
}
add_action( 'init', 'create_product_post_type' ); Utiliser un plugin pour créer un CPT (Content Production Template).
Pour les utilisateurs peu familiers avec le code, des plugins tels que “ Custom Post Type UI ” ou “ Toolset Types ” offrent une interface graphique permettant de créer et de gérer des types de postes personnalisés (Custom Post Types, CPT). Il suffit de remplir des formulaires en back-office et de définir diverses options ; les plugins génèrent ensuite automatiquement le code nécessaire à l’enregistrement de ces types de postes. Cette approche est efficace et rapide, mais elle peut introduire des dépendances supplémentaires ainsi que des impacts sur les performances du site. Lors du choix d’un plugin, il est important de prendre en compte sa maintenance ainsi que les besoins à long terme du projet.
Créer des archives personnalisées et des modèles de page unique pour CPT.
Après l’enregistrement d’un type d’article personnalisé, WordPress tente d’utiliser le fichier de modèle correspondant dans le thème pour afficher son contenu. En suivant les règles de hiérarchie des modèles de WordPress, vous pouvez créer des modèles spécifiques pour contrôler précisément la manière dont ces articles sont présentés.
Modèle de page d'archivage personnalisé
Pour créer une page d'archivage des CPT (Code des Produits) relatives aux “ produits ” (c'est-à-dire une page listant tous les produits), vous devez créer un fichier dans le répertoire du thème sous le nom de… archive-product.php Ce fichier contient des informations relatives aux produits, notamment le “ slug ” utilisé lors de l’enregistrement d’un CPT (Custom Post Type). À l’intérieur de ce fichier, vous pouvez utiliser les boucles standard de WordPress pour récupérer et afficher tous les articles de type “ produit ”.
Lectures recommandées Guide ultime pour l'optimisation des performances des sites WordPress : de l'accélération du chargement des pages à la mise en œuvre pratique des mécanismes de cache。
// archive-product.php 示例片段
<header class="page-header">
<h1 class="page-title">Nos produits</h1>
</header>
<div class="products-grid">
<article id="post-<?php the_ID(); ?>" no numeric noise key 1008>
<a href="/fr/</?php the_permalink(); ?>">
<?php the_post_thumbnail( 'medium' ); ?>
<h2></h2>
</a>
<div class="entry-excerpt">
</div>
</article>
</div>
<p>Aucun produit disponible pour le moment.</p> Template personnalisé pour un article unique
De même, pour créer un modèle de page de détails pour un produit individuel, il est nécessaire de… single-product.php Fichier. Ce modèle est conçu pour afficher le contenu complet d’un article sur un “ produit ”. Vous pouvez y afficher tous les champs personnalisés que vous avez ajoutés dans l’éditeur d’articles.
// single-product.php 示例片段
<article id="post-<?php the_ID(); ?>" no numeric noise key 1005>
<header class="entry-header">
<h1 class="entry-title"></h1>
<div class="product-meta">
<span>价格:</span>
<span>SKU:</span>
</div>
</header>
<div class="entry-content">
</div>
</article> Les applications avancées du CPT et l’optimisation de ses performances
Lorsque votre site web contient de nombreux types d’articles personnalisés et une grande quantité de données, il devient essentiel de se concentrer sur ses applications avancées et sur ses performances. Cela implique l’utilisation de requêtes personnalisées, la mise en relation des données ainsi que des techniques d’optimisation.
Utiliser WP_Query pour effectuer des requêtes personnalisées
Bien que le boucle principale de WordPress traite automatiquement les requêtes liées aux types de contenu personnalisés (CPT – Custom Post Types), nous avons souvent besoin d’exécuter des requêtes personnalisées dans des éléments tels que les barres latérales ou les blocs d’actualités. Dans ces cas, il convient d’utiliser… WP_Query La classe, et à travers elle… post_type Le paramètre spécifie le CPT (Code de Produit Taxable) à rechercher.
// 查询最新 3 个“产品”
$product_query = new WP_Query( array(
'post_type' => 'product',
'posts_per_page' => 3,
'orderby' => 'date',
'order' => 'DESC',
) );
if ( $product_query->have_posts() ) {
while ( $product_query->have_posts() ) {
$product_query->the_post();
// 输出产品信息
}
wp_reset_postdata(); // 重置查询数据
} Associer un CPT (Code de Prestation Tarifaire) à une classification personnalisée
Afin d’organiser plus précisément le contenu des CPT (Code des Produits et des Services), il est possible de créer des classifications personnalisées. Par exemple, pour un CPT relatif à un “ produit ”, on pourrait créer des catégories telles que “ catégories de produits ” et des étiquettes telles que “ étiquettes de produits ”. Cela nécessite l’utilisation d’outils ou de processus adaptés pour gérer ces classifications. register_taxonomy Fonction, et qui est activée lors de l’enregistrement. object_type Les paramètres l’associent au code de classification produit (CPT – Product Classification Code). Cela vous permet de classifier les produits de manière multidimensionnelle, tout comme vous le feriez avec les catégories et les étiquettes des articles, et de générer des pages d’archivage correspondantes.
Optimiser les performances du CPT
Avec l’augmentation de la quantité de données, les requêtes effectuées via CPT (Content Protection Technology) peuvent ralentir le fonctionnement du site web. Les principales mesures d’optimisation comprennent :
1. Utiliser de manière judicieuse l’API Transients pour mettre en cache les résultats des requêtes : Pour les listes de produits (CPT) qui ne changent pas fréquemment (comme les produits les plus populaires), il est possible de stocker les résultats des requêtes en cache.
2. Vérifiez que les index de la base de données soient bien configurés : pour les champs de requête les plus fréquemment utilisés dans le cadre des opérations sur les CPT (Comptes de Produits et de Services). post_type, meta_value L'établissement d'index (par exemple, pour des mots-clés, des dates, etc.) peut considérablement améliorer l'efficacité des recherches.
3. Utilisation de la pagination et du chargement différé : Pour les pages d’archivage contenant de grandes quantités de données, assurez-vous d’activer la pagination. Pour des ressources telles que les images, envisagez l’utilisation de techniques de chargement différé (lazy loading).
4. Évitez d’effectuer de multiples requêtes à la base de données au cours d’un boucle : il est particulièrement important de ne pas appeler de fonctions de consultation de la base de données à l’intérieur d’une boucle. get_post_meta Lorsque des fonctions telles que celles-ci sont utilisées pour récupérer un grand nombre de champs personnalisés, il est préférable d’obtenir tous les métadonnées nécessaires en une seule fois.
résumés
Les types d’articles personnalisés dans WordPress constituent la base pour construire des sites web professionnels et complexes. Ils permettent de dépasser les limites des types d’articles et des pages préétablis, nous donnant la possibilité de créer des systèmes de gestion et d’affichage indépendants et complets pour tout type de contenu (produits, cas d’utilisation, membres de l’équipe, etc.). register_post_type La création de fonctions ou de plugins se fait en suivant les étapes définies par les niveaux de templates. archive-{slug}.php et single-{slug}.php Des modèles, jusqu’à leur utilisation concrète. WP_Query La possibilité de réaliser des requêtes avancées et d’associer ces requêtes à des classifications personnalisées offre aux développeurs des capacités puissantes de modélisation du contenu. Enfin, l’application de mécanismes de cache, d’indexation et d’optimisation des requêtes permet de maintenir de bonnes performances même lors de la construction de sites web à grande échelle avec CPT. Maîtriser CPT signifie donc déverrouiller le potentiel réel de WordPress en tant que système de gestion de contenu (CMS) mature.
Lectures recommandées Partons de zéro : un guide complet et des meilleures pratiques pour créer un blog personnel avec WordPress.。
FAQ Foire aux questions
Quelle est la différence entre les types d’articles personnalisés et les champs personnalisés ?
Les types d’articles personnalisés (Custom Post Types, CPT) créent de nouveaux types de contenu, dotés d’un menu administratif distinct, d’une base de données et d’une structure logique propres. Ils sont idéaux pour définir des entités clés telles que des “ produits ” ou des “ événements ”.
Les champs personnalisés (Custom Fields ou Meta Boxes) sont des outils permettant d’ajouter des attributs ou des informations supplémentaires à des types de contenu existants (tels que des articles, des pages ou des CPT – Custom Post Types). Par exemple, on peut ajouter des champs comme “ Prix ” ou “ Couleur ” à un CPT dédié aux produits. Les CPT définissent “ ce qu’est ” un type de contenu, tandis que les champs personnalisés décrivent “ quels attributs il possède ”.
Quel est le meilleur moyen de régister le CPT (Custom Post Type) dans le fichier functions.php du thème ou dans un plugin indépendant ?
Pour les CPT spécifiques au projet, étroitement liés à la conception actuelle du thème, placez leur code dans le dossier du thème. functions.php C'est faisable en Chine.
Cependant, la meilleure pratique consiste à créer un plug-in fonctionnel indépendant pour stocker le code d'enregistrement du CPT. L'avantage de cette méthode est que, lors du changement de thème, le CPT et ses données de contenu ne seront pas perdus, ce qui garantit la pérennité et l'indépendance du contenu du site, conformément au principe de la séparation des préoccupations.
Comment ajouter de nouvelles fonctionnalités de support à un type d'article personnalisé existant ?
Vous pouvez utiliser… add_post_type_support Des fonctions sont utilisées pour ajouter un support fonctionnel aux CPT enregistrés. Par exemple, si vous souhaitez ajouter la fonctionnalité “ Résumé ” à un CPT “ produit ” qui ne la supportait pas auparavant, vous pouvez le faire dans le thème du site. functions.php Ou ajoutez le code suivant dans le plug-in :
add_action( 'init', 'add_excerpt_support_for_product' );
function add_excerpt_support_for_product() {
add_post_type_support( 'product', 'excerpt' );
} Comment fonctionne le lien permanent (Permalink) d'un article de type personnalisé ?
Lors de l'inscription au CPT, via rewrite Les paramètres peuvent définir la structure des liens. Par exemple, 'rewrite' => array( 'slug' => 'product' ) Cela rendra le lien vers la page unique de votre produit similaire à ceci : yourdomain.com/product/some-product/Le lien vers sa page d'archives est généralement le suivant : yourdomain.com/product/。
Après avoir enregistré CPT, rendez-vous sur la page “ Paramètres ” → “ Liens permanents ” de l’interface d’administration de WordPress. Sans effectuer aucune modification, cliquez simplement sur le bouton “ Enregistrer les modifications ”. Cela actualisera les règles de réécriture et garantira que vos liens personnalisés fonctionnent correctement.
Comment rechercher le contenu de plusieurs types d'articles personnalisés ?
Lors de l'utilisation de WP_Query Lorsque vous effectuez une recherche, les résultats seront affichés. post_type Il suffit de définir les paramètres comme un tableau pour pouvoir interroger plusieurs CPT en même temps.
$multi_cpt_query = new WP_Query( array(
'post_type' => array( 'post', 'product', 'portfolio' ),
'posts_per_page' => 10,
) ); Cela est très utile pour créer une section “ Nouvelles ” sur la page d’accueil qui regroupe des articles de blog, des produits et des exemples de cas.
Quelle est la suite, quelle est la suite ?
Lecture approfondie et connaissances pratiques
Les articles suivants sont liés au sujet de cet article et peuvent faire l'objet d'une lecture plus approfondie. Il est souvent préférable de commencer par l'article qui se rapproche le plus de votre problème actuel, puis d'étendre progressivement la lecture aux sujets environnants.
- Étapes clés pour l'optimisation SEO : un guide stratégique complet
- Essentiel pour les sites web contemporains : maîtriser les stratégies clés et les techniques pratiques d’optimisation SEO, de zéro.
- La signification et la valeur de WordPress
- Guide complet d'initiation à WooCommerce en chinois : Créez votre magasin en ligne à partir de zéro
- Le guide ultime pour la création de sites web : le processus complet de la conception à la mise en ligne, ainsi qu'une analyse des technologies clés