
Créer un Custom Post Type (CPT) avec ACF pour une gestion privée dans WordPress
Un guide complet pour utiliser Advanced Custom Fields afin de créer et configurer des CPT non visibles en front-end
Stack : WordPress – Bricks Builder – ACF
Ce guide vous montrera comment créer et configurer un Custom Post Type (CPT) avec Advanced Custom Fields (ACF), le rendre non accessible en front-end et utiliser ses données via Bricks Builder. Nous utiliserons un cas d’usage concret : un CPT “Produit” uniquement utilisé dans le back-end.
Les CPT privés sont parfaits pour stocker et organiser des données qui doivent être accessibles dans le back-end mais ne nécessitent pas de pages publiques dédiées. Vous pourrez ensuite utiliser ces données de manière dynamique sur d’autres pages de votre site.
Prérequis
- WordPress installé et configuré
- Bricks Builder installé et activé
- Plugin Advanced Custom Fields (ACF) installé et activé
Table des matières
- Création du Custom Post Type avec ACF
- Configuration des champs personnalisés avec ACF
- Rendre le CPT non accessible en front-end
- Configurer les permissions d’accès au CPT
- Utiliser les données du CPT avec Bricks Builder
- Exemples d’utilisation avec Bricks Builder
1. Création du Custom Post Type avec ACF
Étape 1 : Accéder à l’interface d’ACF pour créer un CPT
- Dans votre tableau de bord WordPress, naviguez vers ACF > Types de publication.
- Cliquez sur Ajouter un nouveau.
Interface ACF pour ajouter un Custom Post Type
Étape 2 : Configurer les paramètres de base du CPT
- Étiquette plurielle : “Produits” (le nom qui apparaîtra dans le menu)
- Étiquette singulière : “Produit” (utilisé pour les boutons comme “Ajouter un Produit”)
- Clé du type de publication : “produit” (identifiant technique, généralement en minuscules)
- Décochez l’option “Public” : C’est cette option qui permettra de rendre le CPT non accessible en front-end.
Configuration avancée d’un CPT dans ACF
Étape 3 : Configuration avancée du CPT
Cliquez sur Configuration avancée pour accéder à plus d’options :
Onglet “Général”
- Supports : Cochez les fonctionnalités que vous souhaitez activer pour ce type de contenu :
- Titre (obligatoire)
- Éditeur (contenu principal)
- Image mise en avant (si vous avez besoin d’une image principale)
- Extrait (résumé court)
- Champs personnalisés
Onglet “Visibilité”
- Afficher dans l’interface utilisateur : Laissez coché pour que le CPT soit visible dans l’administration
- Afficher dans le menu d’admin : Laissez coché pour avoir un menu dédié
- Position du menu : Choisissez où placer le menu (ex: 5 pour le positionner après les Articles)
- Icône du menu : Choisissez une icône pour votre CPT (ex: dashicons-cart)
- Exclure des résultats de recherche : Cochez cette option pour que le CPT n’apparaisse pas dans les résultats de recherche du site
Onglet “URLs”
- Réécriture de permalien : Désactivez cette option ou choisissez “Slug personnalisé”
- Accessible publiquement via une requête : Décochez cette option pour empêcher l’accès direct via URL
Onglet “Permissions”
Vous pouvez configurer des permissions spécifiques ou utiliser les capacités par défaut.
Étape 4 : Enregistrer le CPT
Cliquez sur Publier pour créer votre CPT. Une fois enregistré, vous verrez un nouveau menu “Produits” dans votre tableau de bord WordPress.
2. Configuration des champs personnalisés avec ACF
Étape 1 : Créer un groupe de champs
- Dans le tableau de bord WordPress, allez à ACF > Groupes de champs.
- Cliquez sur Ajouter un nouveau.
- Donnez un nom à votre groupe, par exemple “Détails du produit”.
Étape 2 : Configurer les règles d’affichage
Dans la section Règles d’affichage, configurez :
- Type de publication égal à Produit
- Cliquez sur Enregistrer
Interface de sélection des données dynamiques dans Bricks Builder
Étape 3 : Ajouter des champs personnalisés
Cliquez sur + Ajouter un champ pour chaque information dont vous avez besoin :
Champ “Prix”
- Étiquette : Prix
- Nom : prix
- Type : Nombre
- Instructions : Entrez le prix du produit
- Préfixe : € (dans l’onglet Présentation)
- Requis : Oui
Champ “Description courte”
- Étiquette : Description courte
- Nom : description_courte
- Type : Zone de texte
- Instructions : Entrez une description courte du produit
Champ “Caractéristiques”
- Étiquette : Caractéristiques
- Nom : caracteristiques
- Type : Répéteur
- Instructions : Ajoutez les caractéristiques du produit
- Sous-champs :
- Nom de la caractéristique (Texte)
- Valeur (Texte)
Champ “Images”
- Étiquette : Images
- Nom : images
- Type : Galerie
- Instructions : Ajoutez des images du produit
N’oubliez pas de cliquer sur Publier ou Mettre à jour pour enregistrer vos champs.
3. Rendre le CPT non visible en front-end
Pour s’assurer que le CPT est complètement invisible en front-end, vérifiez que vous avez bien :
- Décoché l’option “Public” lors de la création du CPT
- Coché “Exclure des résultats de recherche” dans l’onglet Visibilité
- Décoché “Accessible publiquement via une requête” dans l’onglet URLs
- Les résultats de recherche du site
- Les flux RSS
- Les sitemaps XML
- Les URLs directes (même si quelqu’un connaît l’URL)
4. Configurer les permissions d’accès au CPT
Pour limiter l’accès au CPT à certains utilisateurs :
Option 1 : Utiliser les capacités par défaut
Dans l’onglet Permissions de la configuration avancée du CPT :
- Assurez-vous que “Renommer les capacités” est activé
- Utilisez les capacités par défaut basées sur “Post”
Option 2 : Installer un plugin de gestion des rôles (optionnel)
Pour une gestion plus fine des droits, vous pouvez utiliser un plugin comme “Members” ou “User Role Editor” qui permettent de définir précisément quels rôles peuvent accéder, créer, modifier ou supprimer les CPT.
5. Utiliser les données du CPT avec Bricks Builder
Étape 1 : Créer une page avec Bricks Builder
- Dans le tableau de bord WordPress, allez à Pages > Ajouter.
- Donnez un nom à votre page, par exemple “Nos Produits”.
- Cliquez sur Modifier avec Bricks.
Étape 2 : Utiliser Query Loop pour afficher les produits
- Dans l’éditeur Bricks, ajoutez un élément Container.
- À l’intérieur, ajoutez un élément Query Loop.
- Dans les paramètres de Query Loop :
- Type de requête : Posts
- Type de publication : Produit
- Nombre d’articles : Choisissez combien de produits afficher
- Tri : Choisissez comment trier les produits
Configuration Query Loop dans Bricks Builder
Étape 3 : Créer la structure d’affichage des produits
À l’intérieur du Query Loop, créez la structure d’affichage pour chaque produit :
- Ajoutez un élément Div pour contenir chaque produit.
- Ajoutez un élément Heading pour le titre du produit.
- Utilisez le bouton Données dynamiques (icône en forme d’éclair) pour sélectionner
{post_title}
.
Pour les champs ACF :
- Ajoutez un élément Text pour le prix.
- Utilisez Données dynamiques et sélectionnez
{acf_prix}
. - Ajoutez un élément Text pour la description courte.
- Utilisez Données dynamiques et sélectionnez
{acf_description_courte}
.
Utilisation des données dynamiques dans Bricks Builder
Étape 4 : Afficher les champs répéteurs et les galeries
Pour afficher le champ répéteur “Caractéristiques” :
- À l’intérieur de votre structure produit, ajoutez un élément Container.
- Transformez ce container en Query Loop.
- Dans les paramètres :
- Type de requête : ACF Repeater
- Champ : caracteristiques
À l’intérieur de ce Query Loop répéteur :
- Ajoutez un élément Div pour chaque caractéristique.
- Ajoutez un élément Text pour le nom de la caractéristique.
- Utilisez Données dynamiques et sélectionnez
{acf_sub_nom_de_la_caracteristique}
. - Ajoutez un élément Text pour la valeur.
- Utilisez Données dynamiques et sélectionnez
{acf_sub_valeur}
.
Pour afficher la galerie d’images :
- Ajoutez un élément Gallery.
- Dans les paramètres, utilisez Sélectionner des données dynamiques et choisissez
{acf_images}
.
6. Exemples d’utilisation avec Bricks Builder
Exemple 1 : Affichage simple d’un produit spécifique
Si vous voulez afficher un produit spécifique sur une page :
- Ajoutez un élément Container.
- Ajoutez un élément Query Loop.
- Configurez-le pour afficher un produit spécifique par ID.
- Créez la structure d’affichage comme décrit précédemment.
Exemple 2 : Affichage de produits filtrés par méta-valeur
Pour afficher des produits selon une valeur spécifique :
- Configurez un Query Loop.
- Dans l’onglet Query :
- Ajoutez un Filtre meta.
- Sélectionnez le champ ACF que vous souhaitez utiliser pour le filtrage.
- Définissez la condition et la valeur.
Exemple 3 : Utilisation des champs ACF dans d’autres éléments
Vous pouvez utiliser les données des champs ACF dans presque tous les éléments Bricks :
- Images : Utilisez un champ ACF image comme source.
- Boutons : Utilisez un champ ACF lien pour l’URL du bouton.
- Conditions : Affichez ou masquez des éléments en fonction des valeurs des champs ACF.
Par exemple, pour n’afficher un élément que si le prix est supérieur à 50 € :
- Sélectionnez l’élément.
- Allez dans Conditions.
- Créez une condition :
- Dynamic Data :
{acf_prix}
- Opérateur : > (supérieur à)
- Valeur : 50
- Dynamic Data :
Conclusion
En suivant ce guide, vous avez maintenant :
- Créé un Custom Post Type “Produit” avec ACF
- Configuré ce CPT pour qu’il soit accessible uniquement via l’administration WordPress et pas en front-end
- Ajouté des champs personnalisés pour stocker vos données
- Appris à utiliser ces données avec Bricks Builder
Cette approche vous permet de profiter d’une expérience utilisateur optimale dans l’administration WordPress tout en gardant un contrôle total sur l’affichage front-end grâce à Bricks Builder. Le CPT reste “privé” mais ses données peuvent être utilisées de façon dynamique et flexible sur n’importe quelle page de votre site.