Développement WordPress
WordPress custom : ACF, CPT et blocs sur mesure, l’approche pro
Comment on construit un site WordPress qu'on tient sur 5 ans : Custom Post Types, ACF Pro, Flexible Content, blocs codés. Concret, pas théorique.
WordPress, c’est pas Wix. C’est pas Webflow. C’est un CMS open-source ultra-puissant quand on l’utilise comme un développeur. Voilà comment on construit un site qui tient 5 ans sans dette technique.
Le triptyque qui change tout
Trois briques natives ou quasi-natives transforment WordPress en framework de développement web sérieux :
- Custom Post Types (CPT) : créer des types de contenu spécifiques à votre métier
- Advanced Custom Fields Pro (ACF) : ajouter des champs structurés à n’importe quel type de contenu
- ACF Flexible Content : composer des pages avec des blocs réutilisables, sans page builder
Custom Post Types : la base
WordPress nait avec deux types de contenu : articles et pages. Suffisant pour un blog. Insuffisant pour un site métier.
Vous gérez un cabinet d’architecte ? Vous avez besoin d’un CPT « Projet » avec des champs : maître d’ouvrage, surface, année de livraison, budget, photos. Pas un article forcé à imiter un projet.
Vous gérez une boutique de matériel ? CPT « Produit » (ou WooCommerce). Plus CPT « Témoignage client », CPT « Cas d’usage ». Chaque type avec ses propres champs et son propre template.
register_post_type( 'projet', [
'labels' => [ 'name' => 'Réalisations' ],
'public' => true,
'has_archive' => 'realisations',
'rewrite' => [ 'slug' => 'realisations' ],
'supports' => [ 'title', 'editor', 'thumbnail' ],
] );
Et hop, vous avez un /realisations/ archive auto, des URLs propres, un menu admin dédié.
ACF Pro : la magie des champs personnalisés
L’éditeur Gutenberg natif est OK pour un article texte. Inutilisable pour un produit qui a 12 caractéristiques structurées (prix, dimensions, matériaux, etc.).
ACF résout : pour chaque CPT, vous définissez exactement les champs nécessaires :
- Texte court / long
- Image, galerie, fichier
- Sélecteur (radio, checkbox, dropdown)
- Relation vers d’autres posts
- Repeater (liste répétable)
- Group, tab, conditional logic
Le contributeur a un formulaire propre, l’expérience admin est claire. Le développeur a une donnée structurée, facile à requêter, à exporter, à versionner.
ACF Flexible Content : le page builder qu’on contrôle
Le pari intelligent : remplacer Elementor par une bibliothèque de blocs codés sur mesure, exposée à l’éditeur via ACF Flexible Content.
Concrètement : vous codez 10-15 blocs (Hero, Services, FAQ, CTA, Texte+image, Témoignages, etc.). L’éditeur de page voit un bouton « Ajouter une section » qui propose ces blocs. Il les empile, les remplit, les ordonne.
Avantages :
- Layout garanti : impossible de casser le design
- Performance préservée : seuls les CSS/JS des blocs utilisés sont chargés
- Évolutivité : on ajoute un nouveau bloc en quelques heures de dev
- Portabilité : la donnée est en méta WordPress, pas en JSON propriétaire
- Code lisible : chaque bloc = un fichier PHP de 30-80 lignes
C’est exactement comme ça que ce site est construit. Et c’est l’approche que j’utilise sur 100% de mes missions WordPress depuis 4 ans.
Le pattern de fichiers
Une organisation type :
wp-content/
├── themes/mon-theme/
│ ├── functions.php
│ ├── inc/
│ │ ├── setup.php
│ │ └── enqueue.php
│ ├── template-parts/
│ │ └── flex/
│ │ ├── hero.php
│ │ ├── services.php
│ │ ├── faq.php
│ │ └── cta.php
│ └── single-projet.php
└── mu-plugins/mon-core/
├── includes/
│ ├── class-cpt.php
│ ├── class-acf-options.php
│ └── class-acf-blocks.php
Le thème = présentation. Le mu-plugin = logique métier (CPT, ACF, business rules). Cette séparation permet de changer de thème sans perdre vos données.
Stockage ACF : sync via JSON
ACF permet de sauvegarder la config des field groups en JSON dans le thème (acf-json/). Tout est versionné dans Git. Quand un dev modifie un champ en local, le JSON se met à jour. Au déploiement, ACF synchronise automatiquement avec la base de données distante.
Plus de « j’ai ajouté un champ en prod, oublié de le faire en dev ». Tout est sous contrôle.
Pourquoi pas Gutenberg ?
Bonne question. Gutenberg / Full Site Editing ont fait des progrès. Pour un blog ou un site simple, ils sont OK aujourd’hui.
Mais pour un site métier avec des contenus structurés, Gutenberg reste plus complexe à customiser, plus lent (React + énormément de JS chargé), et moins flexible que ACF Flex Content. Les développeurs WordPress senior en France privilégient encore largement ACF.
TL;DR
- CPT pour vos types de contenu métier
- ACF Pro pour les champs structurés
- ACF Flexible Content à la place de tout page builder
- Mu-plugin séparé du thème pour la logique métier
- acf-json/ versionné dans Git
- Site léger, maintenable, qui tient 5 ans sans refonte
Vous montez un projet WordPress sérieux ? Discutons de l’architecture.
Un projet en réflexion ?
Si cet article a éclairé votre besoin, on peut en discuter de vive voix. 30 minutes, sans engagement.
Planifier un échangeÀ lire aussi
Développement WordPress
Pourquoi les page builders sont l’erreur n°1 sur WordPress
Développement WordPress