Vous avez passé des heures à chercher comment ajouter une information spécifique à vos articles WordPress — un prix, une date d’événement, une fiche technique — sans jamais trouver comment le faire proprement ? Vous avez peut-être bidouillé dans l’éditeur classique, entassé des informations dans le corps de l’article, ou abandonné l’idée faute d’une solution claire. C’est frustrant, et vous n’êtes pas seul dans ce cas.
Bonne nouvelle : ACF WordPress (Advanced Custom Fields) est exactement la solution gratuite qu’il vous faut. Ce guide pas-à-pas va vous montrer comment installer, configurer et utiliser ACF pour structurer vos contenus de manière professionnelle, sans écrire une seule ligne de code au départ. Suivez chaque étape, et dans moins d’une heure, votre site sera transformé.
C’est quoi exactement ACF WordPress, et pourquoi tout le monde en parle ?
Réponse rapide : ACF WordPress (Advanced Custom Fields) est un plugin gratuit qui permet d’ajouter des champs de données personnalisés à vos articles, pages ou types de contenus, via une interface visuelle intuitive, sans toucher au code.
WordPress, un CMS puissant mais limité nativement
Par défaut, WordPress vous donne un titre, un contenu et quelques métadonnées. C’est bien pour un blog généraliste. Mais dès que vous voulez gérer une fiche recette avec un temps de préparation, un catalogue immobilier avec une surface et un prix, ou encore une fiche équipe avec un poste et un numéro de téléphone… vous êtes bloqué. WordPress natif ne propose pas d’interface pour ça.
Il existe bien les “custom fields” natifs de WordPress, mais ils sont cachés dans un menu peu pratique, sans aucune aide visuelle. Personne ne les utilise vraiment pour du contenu structuré, car la manipulation est trop rudimentaire.
Ce qu’ACF change concrètement pour vous
Avec ACF WordPress, vous créez des groupes de champs personnalisés depuis un panneau visuel clair. Vous choisissez le type de champ (texte, image, date, sélection…), vous définissez où il apparaît (sur quel article, quelle page, quel Custom Post Type), et voilà. Vos rédacteurs voient des champs de formulaire bien étiquetés directement dans l’administration WordPress. Fini le bricolage.
Concretement, ACF est utilisé pour créer des annuaires professionnels, des portfolios dynamiques, des boutiques sans WooCommerce, des fiches produits détaillées ou encore des sites événementiels. C’est l’outil préféré des développeurs WordPress depuis plus de dix ans, et la version gratuite suffit largement pour la majorité des projets.
ACF est disponible gratuitement sur le répertoire officiel WordPress.org. Il a été téléchargé plus de 5 millions de fois et est régulièrement mis à jour. C’est un gage de fiabilité et de pérennité.
ACF gratuit vs ACF Pro : quelle différence réelle ?
La version gratuite d’ACF inclut tous les types de champs essentiels : texte, image, galerie, éditeur riche, date, sélection, case à cocher, relation entre contenus, et bien plus. La version Pro ($$$) ajoute des fonctionnalités avancées comme le champ Repeater (listes dynamiques), le Flexible Content (mise en page modulaire) et les blocs Gutenberg personnalisés. Pour démarrer, la version gratuite est plus que suffisante.
Comment installer ACF WordPress en moins de 5 minutes, étape par étape ?
Réponse rapide : Installez ACF WordPress depuis votre tableau de bord en allant dans Extensions › Ajouter, recherchez “Advanced Custom Fields”, cliquez sur Installer puis Activer. Le plugin est immédiatement opérationnel.
Étape 1 : Accéder à l’espace d’installation des extensions
Connectez-vous à votre tableau de bord WordPress (votre-site.com/wp-admin). Dans le menu de gauche, repérez la rubrique Extensions et cliquez sur Ajouter une extension.
Étape 2 : Rechercher et installer le plugin ACF
Dans la barre de recherche en haut à droite, tapez “Advanced Custom Fields”. Le premier résultat doit afficher le plugin développé par WP Engine (anciennement Elliot Condon). Vérifiez bien l’auteur et le nombre d’installations pour éviter les imposteurs. Cliquez sur Installer maintenant, patientez quelques secondes, puis cliquez sur Activer.
Auteur : WP Engine
Installs : 2 000 000+ actives
Note : ⭐⭐⭐⭐⭐ (5/5)
Étape 3 : Vérifier que l’installation a bien fonctionné
Une fois activé, un nouveau menu “ACF” ou “Custom Fields” apparaît dans votre barre latérale WordPress. Si vous le voyez, félicitations : ACF WordPress est installé et prêt à l’emploi. Si ce menu n’apparaît pas, vérifiez que vous avez bien cliqué sur “Activer” (et pas seulement “Installer”).
Ne confondez pas ACF (Advanced Custom Fields, gratuit) avec Secure Custom Fields, un fork récent et distinct. Vérifiez toujours l’auteur : il doit s’agir de WP Engine pour obtenir la version officielle et maintenue.
Étape 4 (optionnel) : Installer ACF Pro via un fichier ZIP
Si vous avez acheté la licence Pro, vous recevez un fichier .zip à télécharger. Dans WordPress, allez dans Extensions › Ajouter › Téléverser une extension, déposez le fichier ZIP et cliquez sur Installer maintenant. Entrez ensuite votre clé de licence dans les réglages ACF pour activer les mises à jour automatiques.
Sélectionner le fichier : advanced-custom-fields-pro.zip
Cliquer sur : Installer maintenant → Activer
Comment créer son premier groupe de champs ACF et les configurer correctement ?
Réponse rapide : Dans votre tableau de bord, allez dans ACF › Groupes de champs › Ajouter. Donnez un nom à votre groupe, ajoutez vos champs personnalisés en choisissant leur type, puis définissez les règles de localisation pour décider où ils s’affichent.
Comprendre la logique “Groupe → Champs → Localisation”
Avant de cliquer partout, prenez trente secondes pour comprendre la structure d’ACF. Elle repose sur trois niveaux :
- Le Groupe de champs : c’est le conteneur. Par exemple “Informations recette” ou “Détails événement”.
- Les Champs individuels : ce sont les cases à remplir à l’intérieur du groupe. Par exemple “Temps de préparation”, “Niveau de difficulté”, “Photo du plat”.
- Les Règles de localisation : elles définissent où le groupe apparaît dans l’administration (sur tous les articles ? sur une catégorie précise ? sur un type de contenu personnalisé ?).
Pensez à un groupe de champs ACF comme à un formulaire papier que vous créez pour vos rédacteurs. Vous décidez des cases, et WordPress les affiche automatiquement au bon endroit dans l’administration.
Créer un groupe de champs pas à pas
Cliquez sur ACF › Groupes de champs dans le menu, puis sur le bouton Ajouter. Vous arrivez sur l’interface de création. Donnez un nom descriptif à votre groupe — par exemple “Fiche recette”. Ce nom est uniquement interne, il ne s’affiche pas sur votre site.
Nom du groupe : “Fiche recette”
Cliquer sur : + Ajouter un champ
Ajouter et paramétrer un champ
Cliquez sur + Ajouter un champ. Une ligne se déplie avec plusieurs options à configurer :
- Label : le nom visible dans l’administration. Ex : “Temps de préparation”.
- Nom du champ (field name) : l’identifiant technique utilisé dans le code. ACF le génère automatiquement depuis le label. Ex :
temps_preparation. Ne mettez pas d’espaces ni de caractères spéciaux ici. - Type de champ : choisissez parmi la liste (Texte, Nombre, Image, Date, etc.).
- Instructions : un texte d’aide facultatif affiché sous le champ pour guider vos rédacteurs.
- Obligatoire : activez cette option si le champ ne doit pas rester vide.
Le nom du champ est comme une étiquette sur un tiroir. Quand votre rédacteur enregistre “45 minutes” dans le champ “Temps de préparation”, WordPress range cette valeur dans un tiroir étiqueté temps_preparation. Plus tard, quand on veut afficher cette info sur la page, on dit à WordPress : “Ouvre le tiroir temps_preparation et affiche ce qu’il y a dedans.” Simple comme bonjour.
Définir les règles de localisation (où s’affichent vos champs ?)
C’est l’étape la plus importante après la création des champs. Faites défiler la page vers le bas jusqu’à la section “Localisation”. C’est ici que vous définissez sur quels contenus vos champs doivent apparaître.
Par défaut, ACF propose la règle “Type de publication — est égal à — Article”. Vous pouvez la modifier ou combiner plusieurs règles :
- Afficher sur tous les articles : Type de publication = Article
- Afficher sur une page spécifique : Page = [Nom de la page]
- Afficher sur un Custom Post Type : Type de publication = [Votre CPT]
- Afficher selon une catégorie : Catégorie = [Catégorie choisie]
Vous pouvez ajouter plusieurs règles avec des opérateurs ET (toutes les conditions) ou OU (au moins une condition). C’est très flexible.
ET : Catégorie est égal à Cuisine végétarienne
→ Le groupe “Fiche recette” s’affiche uniquement sur ces articles.
Les options d’affichage avancées du groupe
Plus bas dans la page, vous trouverez les paramètres d’affichage du groupe dans l’administration. Vous pouvez choisir de placer le groupe sous l’éditeur (par défaut), sur le côté droit (sidebar) ou en pleine largeur. Vous pouvez aussi masquer certains champs WordPress natifs (comme le champ de titre ou les balises) pour simplifier l’interface de vos rédacteurs.
Une fois tout configuré, cliquez sur Publier ou Enregistrer les modifications. Votre groupe de champs est actif. Allez maintenant créer ou modifier un article correspondant à vos règles de localisation : vous verrez vos nouveaux champs apparaître dans l’interface d’édition.
Quels types de champs ACF choisir selon mon usage, et comment les utiliser ?
Réponse rapide : ACF propose plus de 30 types de champs différents. Pour débuter, maîtrisez les champs Texte, Image, Sélection et Date/Heure. Chaque type répond à un besoin précis de structuration de contenu.
Les champs de base : pour les informations simples
Ces champs sont vos meilleurs alliés au quotidien. Ils couvrent la grande majorité des besoins éditoriaux :
- Texte : pour une donnée courte (titre secondaire, nom d’auteur, référence produit). Limité à une ligne.
- Zone de texte : pour un court paragraphe sans mise en forme (description rapide, accroche).
- Nombre : pour des valeurs numériques (prix, quantité, durée en minutes). Accepte des valeurs min/max et un pas d’incrément.
- Email : pour une adresse email, avec validation automatique du format.
- URL : pour un lien externe. WordPress vérifie que le format est valide.
- Mot de passe : masque la saisie, utile pour stocker des informations sensibles.
Imaginez le champ Texte comme une ligne de formulaire (comme pour votre prénom). La Zone de texte, c’est le grand rectangle où vous écrivez votre bio sur un réseau social. L’un est court, l’autre peut contenir plusieurs phrases. Ni l’un ni l’autre n’a de mise en forme (gras, listes, liens).
Les champs de contenu riche : pour les médias et le texte formaté
- Éditeur WYSIWYG : un mini-éditeur WordPress avec mise en forme (gras, italique, listes, liens). Idéal pour des descriptions longues et structurées.
- Image : permet de sélectionner ou uploader une image depuis la médiathèque. Retourne l’URL, l’ID ou un tableau avec toutes les métadonnées de l’image.
- Galerie : pour sélectionner plusieurs images d’un coup. Parfait pour un portfolio ou une fiche logement.
- Fichier : pour attacher un PDF, un document Word ou tout autre fichier téléchargeable.
- oEmbed : pour intégrer automatiquement une vidéo YouTube, Vimeo ou un tweet en collant simplement l’URL.
Les champs de choix : pour structurer les options
Ces champs permettent à vos rédacteurs de choisir parmi des options prédéfinies que vous avez configurées. C’est bien plus fiable que de leur demander de taper du texte libre :
- Sélection (Select) : un menu déroulant avec vos options. Ex : “Facile / Moyen / Difficile”.
- Case à cocher (Checkbox) : plusieurs cases, plusieurs choix possibles. Ex : “Végétarien / Sans gluten / Sans lactose”.
- Boutons radio (Radio) : plusieurs options, un seul choix. Ex : “Oui / Non / À définir”.
- Vrai/Faux (True/False) : un simple interrupteur on/off. Ex : “Mettre en avant cet article : Oui/Non”.
- Lien (Link) : un champ dédié pour créer un lien avec texte, URL et cible (nouvelle fenêtre ou non).
Les champs relationnels : pour connecter vos contenus
Ces champs avancés permettent de créer des liens entre différents contenus WordPress. C’est ici qu’ACF devient vraiment puissant pour structurer des sites complexes :
- Objet article (Post Object) : sélectionner un ou plusieurs articles/pages existants. Utilisé pour des “articles similaires” ou des “produits associés”.
- Relation (Relationship) : similaire au Post Object mais avec plus de contrôle sur la recherche et l’affichage.
- Taxonomie (Taxonomy) : pour associer une catégorie, un tag ou une taxonomie personnalisée.
- Utilisateur (User) : pour sélectionner un compte utilisateur WordPress (idéal pour un annuaire d’équipe).
Les champs spéciaux comme Google Maps (pour une adresse géolocalisée), Sélecteur de couleur (Color Picker) et Sélecteur de date/heure sont disponibles dans la version gratuite et couvrent des cas d’usage très courants dans les sites professionnels.
Comment afficher les données ACF sur mon site WordPress sans tout casser ?
Réponse rapide : Pour afficher un champ personnalisé ACF dans votre thème, utilisez la fonction PHP the_field('nom_du_champ') pour un affichage direct, ou get_field('nom_du_champ') pour récupérer la valeur dans une variable et la manipuler.
La différence entre the_field() et get_field()
ACF fournit deux fonctions PHP principales pour accéder aux données de vos champs personnalisés. Ne paniquez pas si vous n’êtes pas développeur — nous allons tout expliquer simplement.
the_field() c’est comme un serveur qui apporte directement votre plat à table. get_field(), c’est comme récupérer votre plat en cuisine pour le décorer avant de le présenter. L’un affiche directement, l’autre vous donne la valeur pour que vous fassiez ce que vous voulez avec.
Voici comment utiliser the_field() pour afficher directement la valeur d’un champ :
<p>Difficulté : <?php the_field(‘niveau_difficulte’); ?></p>
Et voici comment utiliser get_field() pour récupérer la valeur et l’utiliser de façon conditionnelle :
$prix = get_field(‘prix_produit’);
if ( $prix ) {
echo ‘<p>Prix : ‘ . esc_html($prix) . ‘ €</p>’;
}
?>
Utilisez toujours esc_html() ou esc_url() autour de vos valeurs ACF avant de les afficher. Ces fonctions WordPress sécurisent les données et évitent les failles XSS. C’est une bonne pratique indispensable, même sur un petit site.
Afficher un champ image ACF correctement
Le champ image est l’un des plus utilisés. Par défaut, il retourne un tableau avec toutes les informations de l’image (URL, alt, largeur, hauteur, etc.). Voici la méthode recommandée :
$image = get_field(‘photo_plat’);
if ( $image ) {
echo ‘<img src=”‘ . esc_url($image[‘url’]) . ‘” alt=”‘ . esc_attr($image[‘alt’]) . ‘”>’;
}
?>
Dans quels fichiers de thème intégrer ce code ?
Le code ACF doit être placé dans les templates de votre thème WordPress. Les fichiers les plus courants sont :
single.php— pour les articlespage.php— pour les pagesarchive.php— pour les listes d’articles- Les fichiers de templates Custom Post Type (ex :
single-recette.php)
Si vous utilisez un constructeur de pages comme Elementor ou Divi, sachez qu’ils proposent des intégrations natives avec ACF pour afficher les champs personnalisés sans toucher au code PHP. Très pratique pour les non-développeurs.
Utiliser ACF avec les Custom Post Types
Les types de publications personnalisées (Custom Post Types ou CPT) sont des catégories de contenus que vous créez en plus des articles et pages par défaut. Par exemple : “Recettes”, “Logements”, “Membres de l’équipe”. ACF s’intègre parfaitement avec les CPT enregistrés avec des plugins comme Custom Post Type UI (CPT UI), disponible gratuitement sur WordPress.org.
Quelles sont les 5 erreurs courantes avec ACF WordPress et comment les éviter ?
Réponse rapide : Les erreurs les plus fréquentes avec ACF WordPress concernent les noms de champs mal configurés, les règles de localisation incorrectes, l’oubli des conditions d’affichage, la multiplication inutile des champs et la suppression accidentelle de données.
Le nom du champ (field name) est l’identifiant utilisé par WordPress pour retrouver la donnée en base. Si vous le modifiez après avoir rempli des articles, WordPress cherche la donnée sous l’ancien nom et ne trouve rien. Résultat : vos champs semblent vides alors que les données sont toujours là, juste inaccessibles.
Solution : Définissez vos noms de champs dès le départ avec soin, et ne les modifiez jamais une fois des données enregistrées. Si vous devez absolument changer un nom, vous aurez besoin d’un script de migration SQL pour mettre à jour les valeurs en base de données.
Une règle “Type de publication = Tous les types” va afficher vos champs sur TOUS les contenus du site — y compris les pages de WooCommerce, les articles de blog, les pages de contact. C’est le chaos en back-office.
Solution : Soyez toujours précis dans vos règles. Si vos champs sont pour un CPT “Recette”, limitez la localisation à ce CPT uniquement. Testez en créant un contenu de test avant de déployer.
Si un rédacteur n’a pas rempli un champ et que votre code PHP tente de l’afficher sans vérification conditionnelle, vous pouvez vous retrouver avec des balises HTML vides ou des messages d’erreur sur votre site.
Solution : Toujours entourer l’affichage d’une condition if. Exemple : if ( get_field('prix') ) { the_field('prix'); }. C’est une règle absolue pour un code propre et robuste.
Par enthousiasme, beaucoup de débutants créent des dizaines de champs sans savoir exactement pourquoi. Résultat : un back-office surchargé, des rédacteurs perdus, des performances dégradées et une base de données alourdie.
Solution : Avant de créer un champ, posez-vous la question : “Ce champ va-t-il réellement être utilisé et affiché quelque part sur le site ?” Si vous répondez “peut-être”, ne le créez pas. La simplicité est une vertu en développement WordPress.
Si vous supprimez un groupe de champs ACF, le groupe disparaît de l’interface admin. En revanche, les données enregistrées dans les articles restent dans la base de données (dans la table wp_postmeta). C’est bien, mais si vous recréez un groupe avec un nom légèrement différent, vous ne retrouverez pas les anciennes données.
Solution : Utilisez la fonctionnalité d’export JSON d’ACF (ACF Local JSON) pour sauvegarder vos configurations de champs. Cela vous permet de les versionner avec Git et de les déployer facilement entre environnements (dev, staging, production).
ACF WordPress en profondeur : expertise et bonnes pratiques avancées
Optimiser les performances de votre site avec ACF
Un des points qui inquiète souvent les propriétaires de sites WordPress est l’impact d’ACF sur les performances et la vitesse de chargement. En réalité, bien utilisé, ACF a un impact négligeable. La bonne pratique fondamentale est de stocker la valeur d’un champ dans une variable PHP dès lors que vous l’utilisez plus d’une fois dans un template, plutôt que d’appeler get_field() à répétition. Chaque appel inutile est une requête supplémentaire en base de données. Associé à un système de cache objet comme Redis ou Memcached, ACF devient quasi invisible pour votre serveur. La fonctionnalité Local JSON, qui stocke vos configurations de champs dans des fichiers .json dans votre thème, évite également des requêtes SQL lors du chargement des groupes de champs — une optimisation que tout site en production devrait activer.
ACF et le SEO : structurer ses données pour Google
Ce que peu de blogueurs réalisent, c’est qu’ACF WordPress est un outil SEO à part entière. En structurant vos contenus avec des champs personnalisés sémantiquement riches, vous créez une architecture d’information que les moteurs de recherche adorent. Mieux encore, les données enregistrées dans vos champs ACF peuvent être reliées aux données structurées Schema.org via des plugins comme Schema & Structured Data for WP. Concrètement, si vous gérez un site de recettes avec des champs ACF pour le temps de cuisson, les ingrédients et le nombre de calories, vous pouvez générer des rich snippets (extraits enrichis) dans les résultats Google, ce qui augmente considérablement votre taux de clics organique (CTR). Le contenu structuré, c’est l’avenir du SEO, et ACF en est l’un des meilleurs alliés sur WordPress.
Versionner et déployer ses configurations ACF avec Local JSON
Si vous travaillez en équipe ou sur plusieurs environnements (développement local, serveur de staging, production), la fonctionnalité ACF Local JSON est indispensable. Elle sauvegarde automatiquement vos configurations de groupes de champs dans des fichiers JSON dans le dossier /acf-json/ de votre thème. Ces fichiers peuvent être versionnés avec Git, partagés entre développeurs, et déployés automatiquement sans passer par l’interface WordPress. C’est une pratique professionnelle qui garantit la cohérence de l’environnement entre développeurs et évite les erreurs de synchronisation. Pour l’activer, il suffit de créer le dossier acf-json à la racine de votre thème actif — ACF le détecte automatiquement et commence à y écrire les fichiers JSON dès la prochaine modification d’un groupe de champs. Un gain de temps et de fiabilité considérable pour tout projet WordPress sérieux.
FAQ : vos questions sur ACF WordPress
Oui, dans la très grande majorité des cas. ACF WordPress fonctionne indépendamment du thème car les champs sont stockés dans la base de données WordPress (table wp_postmeta). L’affichage des champs dans le front-end dépend par contre de votre thème : si vous utilisez un thème classique (fichiers PHP), vous devrez ajouter du code dans les templates. Avec un constructeur de pages comme Elementor, Divi ou Bricks Builder, l’intégration est souvent native et ne nécessite pas de code. Seuls de très rares thèmes ultra-propriétaires ou des constructeurs de pages très fermés peuvent poser des problèmes de compatibilité.
Non, si vous l’utilisez correctement. ACF lui-même est un plugin léger. Les problèmes de performances WordPress surviennent lorsqu’on multiplie les appels get_field() sans stocker les résultats en variable, ou lorsqu’on crée des dizaines de champs relationnels sur chaque page. En stockant vos valeurs dans des variables PHP, en activant ACF Local JSON et en utilisant un plugin de cache WordPress comme W3 Total Cache, l’impact sur les performances est quasi nul, même sur des sites à fort trafic.
Absolument. ACF s’intègre très bien avec WooCommerce. Vous pouvez ajouter des champs personnalisés sur les fiches produits (ex : composition, origine, certifications), sur les pages de commande, ou encore sur les profils clients. Dans les règles de localisation, sélectionnez simplement “Type de publication = Produit” pour cibler les produits WooCommerce. C’est une combinaison très populaire pour enrichir les fiches produits e-commerce sans développer une solution complexe.
ACF propose deux méthodes d’export. La première est l’export JSON : allez dans ACF › Outils › Export et sélectionnez les groupes à exporter. Vous obtenez un fichier JSON que vous pouvez réimporter sur un autre site ou une autre installation WordPress. La seconde méthode, plus professionnelle, est ACF Local JSON (mentionné plus haut) qui automatise cette sauvegarde en temps réel dans votre thème. Vous pouvez aussi exporter en PHP pour intégrer directement les configurations de champs dans le code de votre thème.
Si ACF ne répond pas à vos besoins, voici les alternatives gratuites les plus sérieuses :
- Meta Box : très complet, légèrement plus technique qu’ACF, avec une API riche.
- Pods : orienté Custom Post Types et taxonomies personnalisées, avec une interface visuelle.
- Secure Custom Fields : le fork officiel d’ACF maintenu par la communauté WordPress.org.
- Carbon Fields : une approche code-first disponible gratuitement sur GitHub, idéale pour les développeurs.
Dans la pratique, ACF reste la référence en termes de facilité d’utilisation et de documentation disponible.
ACF est un plugin réputé, maintenu par WP Engine, l’une des sociétés WordPress les plus sérieuses du marché. Les failles de sécurité sont rares et rapidement corrigées. Les principaux risques viennent d’une mauvaise utilisation : afficher des données sans les échapper (esc_html(), esc_url()), permettre aux utilisateurs non-administrateurs de modifier des groupes de champs, ou installer d’anciennes versions non mises à jour. Bonnes pratiques : mettez toujours ACF à jour, limitez les permissions d’édition des champs aux administrateurs, et n’affichez jamais de données utilisateur brutes sans les avoir filtrées.
