ACF est l’outil incontournable pour ajouter des champs additionnels à vos publications et ainsi permettre au rédacteur de saisir plus facilement les différentes données d’une page. Dans ce cours on va voir comment créer notre premier groupe de champs, l’assigner à un contenu et afficher les données sur notre page.
Sommaire du cours
Dans le cours précédent, on a vu les bienfaits d’ACF qui nous propose d’ajouter des champs additionnels bien plus sexy dans notre interface de rédaction. On va maintenant mettre en place des champs ACF, et pour cela on va reprendre le même exemple que pour le cours sur les champs personnalisés, à savoir un test de jeux vidéo.
Mais on va voir que c’est bien plus propre et efficace avec ACF ! Alors sans plus attendre, jetons-nous dans le bain !
Comment fonctionne ACF ?
Dans notre cas, on souhaite ajouter des champs à nos tests de jeux vidéo : la note globale, les plus, les moins, mais également la pochette du jeu, son prix et sa date de sortie !
Sur le site, ça donnera ça :
Voici comment on procède habituellement avec ACF :
- Tout d’abord on créé un groupe de champs et on y ajoute nos champs (contenus, images…) ;
- On assigne ensuite ce groupe à une page, des articles, une catégorie en particulier…
- Et enfin on modifie le template concerné via PHP pour afficher ces champs.
Appliqué à notre exemple, cela donne :
- On va créer un groupe contenant nos champs note, plus, moins, pochette, date de sortie et prix ;
- On va ensuite assigner ce groupe aux articles de la catégorie Jeux vidéo seulement ;
- Puis on va afficher ces champs dans notre single.php ;
Le rédacteur (nous pour l’instant) n’aura plus qu’à rédiger son contenu depuis son interface d’administration !
On va maintenant installer ACF à partir du répertoire des extensions afin de pouvoir l’utiliser.
Installer ACF
Rendez-vous dans votre interface d’administration de WordPress puis Extensions > Ajouter. Recherchez Advanced Custom Fields (et pas juste ACF, sinon il ne trouvera pas) et installez-la, puis activez-la !
Cette version est gratuite et propose déjà pas mal de fonctionnalités. Mais il existe aussi une version Pro qui vous permettra d’aller encore plus loin avec encore plus de champs et d’options ! Il vous en coutera 49$ par an pour un site ou 249$ pour un nombre de sites illimité (idéal pour les agences).
Pour le moment et pour bon nombre de projets, la version gratuite suffira amplement !
Si vous avez opté pour la version Pro, vous allez télécharger l’archive de l’extension, la décompresser et placer le dossier ACF manuellement dans le wp-content/plugins/
de votre site. Ensuite, allez dans votre interface d’administration, Extensions > Extensions installées, puis cliquez sur Activer sous Advanced Custom Fields.
Profitez-en pour aller insérer votre clé de licence dans ACF > Mises à jour afin d’activer les mises à jour.
Le saviez-vous ?
La version française d’ACF Pro est traduite par mes soins. Aussi, n’hésitez pas à me faire signe si vous trouvez une faute, mauvaise correction ou chaine manquante !
Déclarer un groupe de champs
Une fois ACF activé, vous devriez voir une nouvelle entrée ACF (ou Custom Fields en anglais) en bas du menu latéral de WordPress :
Cliquez dessus puis sélectionnez Ajouter. Vous tomberez sur cette interface :
On va commencer par donner un nom à notre groupe de champ, je vais l’appeler Tests de jeux.
Déclarer les champs
Ensuite, on va ajouter notre premier champ. Pour cela cliquez sur le bouton bleu + Ajouter nous permettant de définir un nouveau champ.
La note
On va lui donner un titre, par exemple Note, et définir le type de champ sur Nombre. Le Nom du champ est défini automatiquement à partir du titre. C’est l’identifiant qui doit être unique, et qu’on utilisera dans le template pour afficher la valeur. Autrement dit, c’est un Slug.
Ils y a plusieurs options dessous, mais pour le moment celles qui vont nous intéresser c’est :
- Suffixe : mettez /10 afin d’ajouter une indication sur le champ pour le rédacteur ;
- Valeur minimale : 0 (je ne vous fait pas un dessin) ;
- Valeur maximale : 10 (ou 20, comme vous voulez) ;
On va procéder de la même manière pour les autres champs :
Les plus
- Titre : Les plus ;
- Nom : les_plus ;
- Type de champ : Éditeur WYSIWYG ;
- Barre d’outils : Basic ;
- Boutons d’ajout de médias : non.
Les moins
- Titre : Les moins ;
- Nom : les_moins ;
- Type de champ : Éditeur WYSIWYG ;
- Barre d’outils : Basic ;
- Boutons d’ajout de médias : non.
Date de sortie
- Titre : Date de sortie ;
- Nom : date_de_sortie ;
- Type de champ : Date.
Prix
- Titre : Prix ;
- Nom : prix ;
- Type de champ : Nombre.
- Suffixe: €.
- Valeur minimale : 0.
Pochette
- Titre : Pochette ;
- Nom : pochette ;
- Type de champ : Image ;
- Format dans le modèle : Données de l’image (array) ;
- Taille de prévisualisation : Moyen.
C’est grâce à ce genre de champs comme les images qu’ACF va prendre tout son intérêt !
Si vous n’avez pas envie de créer les champs à la main, vous pouvez télécharger mon export JSON :
Il vous suffit ensuite d’aller dans ACF > Outils > Importer les groupes de champs.
Vous devriez maintenant avoir tous ces champs :
Vous pourrez à tout moment venir modifier ou ajouter des paramètres à ce groupe. Pour l’instant, on va laisser comme ça.
Un champ ou une taxonomie ?
D’ailleurs, on pourrait ajouter un champ Plateforme, où l’on pourrait indiquer si le jeu sort sur XBox, Playstation, PC…
Mais en fait là, ce serait plutôt une façon de « classer » le jeu. Même constat si on voulait définir le type de jeu : Action, Course, Plateau, Multi…
Du coup, dans ces deux cas, créer un champ n’est pas la meilleure approche. À la place, il faudrait plutôt créer une taxonomie ! Et ça tombe bien, car maintenant vous savez faire !
Assigner le groupe de champs à des publications
On a créé un groupe de champs, mais il faut maintenant indiquer à ACF où et quand il doit apparaitre.
Nous ce que l’on veut, c’est qu’il apparaisse dans les articles de la catégorie Jeux vidéo seulement. (Vérifiez que vous avez bien une telle catégorie créée dans votre site).
Sous l’interface d’ajout de champs que l’on vient de manipuler, vous trouverez une autre Metabox nommée Assigner ce groupe de champs.
Le but ici est d’indiquer que :
- On veut montrer ces champs lorsque le type de publication est Article ;
- ET que la catégorie de l’article est Jeux vidéo ;
Si votre blog est entièrement dédié aux jeux vidéo, alors la deuxième condition n’est même pas nécessaire. En général, on se cantonne à une seule condition, ce qui suffit largement.
Il existe plein d’autres conditions, par exemple afficher le groupe lorsque :
- Le type de publication est une page ;
- Le modèle de la page est Service ;
- Que la taxonomie Type de projet est Photo…
Bref, avec ce système vous allez pouvoir couvrir un bon nombre de cas.
D’ailleurs vous pouvez tout à fait créer plusieurs groupes de champs et les assigner à une même publication, rien ne l’interdit et ça peut s’avérer pratique pour aérer vos champs ou les regrouper par utilité.
Bien, notre groupe est prêt, alors pensez à l’enregistrer en cliquant sur Publier ou Mettre à jour à droite, et on peut passer à la suite.
Aparté: Comment ACF enregistre les données des groupes ?
Tiens d’ailleurs, vous savez comment sont enregistrées les données de ces groupes de champs dans WordPress ? Regardez l’URL de la page : on y retrouve post_type
! Eh oui : Les groupes de champs ACF sont enregistrés dans un type de publication personnalisé non public ! Dans le cours dédié aux CPT je vous avais dit que certaines extensions les utilisaient parfois pour enregistrer des données. C’est le cas d’ACF !
Si vous retournez dans ACF > Groupes de champs, vous verrez votre premier groupe apparaitre. À terme, tous les groupes seront listés de cette manière :
On y retrouve plusieurs informations utiles : la description du groupe, son identifiant unique, son emplacement sur le site et le nombre de champs qu’il contient.
Saisie du contenu
On va maintenant se rendre dans Articles > Ajouter pour créer un nouveau test de Jeux vidéo. Pour l’instant on ne voit pas nos champs, car il faut d’abord sélectionner la catégorie Jeux vidéo. Ils devraient ensuite apparaitre automatiquement. Si ce n’est pas le cas, enregistrez votre article et rechargez la page.
Vos champs apparaissent après le contenu :
Plutôt sympa non pour saisir le contenu ? Pas besoin de réfléchir, il suffit de remplir les cases ! L’éditeur visuel WYSIWYG me permet d’accéder aux options de mise en forme du texte, dont la liste à puces.
J’ai joué sur quelques paramètres pour améliorer la mise en page des champs en les disposant les uns à côté des autres grâce à un système de colonnes. Dans votre cas, ils seront simplement listés les uns sous les autres. On verra comment rendre cela plus joli un peu plus tard !
Afficher les champs dans le template
Dernière étape : afficher les valeurs de nos champs dans notre article !
Pour cela ACF propose une fonction pour récupérer et afficher le contenu des champs dans votre template :
C’est la même logique qu’avec les Templates Tags natifs de WordPress : une fonction the_
permet d’afficher directement le résultat, et une fonction get_
pour récupérer la valeur.
En fait la fonction the_field
utilise la fonction native get_post_meta
que l’on avait pu voir dans le cours sur les champs personnalisés. On pourrait d’ailleurs utiliser cette dernière fonction mais celle d’ACF simplifie un peu les choses.
Aparté: Le cas des thèmes premium
Si vous utilisez un thème premium, et pas un thème fait sur mesure, il va falloir générer un thème enfant. Je vous montre comment créer un thème enfant et pourquoi dans un cours dédié.
Mis en application avec mes champs dans la page, ça donne ça :
Pour commencer, j’ai utilisé le Conditional Tag (ou marqueur conditionnel) has_category('jeux-video')
afin de vérifier que la catégorie de l’article est bien Jeux vidéo, sinon inutile d’afficher mon bloc avec mes champs. Cela n’est utile que dans ce cas précis car je souhaite n’afficher ma critique que dans cette catégorie.
Ensuite, j’utilise simplement les fonctions the_field
là où je souhaite afficher les valeurs de mes champs ACF. Pensez bien à indiquer en paramètre le slug de ces champs, et non pas leur titre.
Plutôt facile pour le moment non ?
Le cas particulier de l’image
Pour l’image, c’est un peu différent : ACF ne renvoie pas la balise image, ni même juste l’URL de celle-ci, mais un tableau contenant plusieurs données. Si je fais un var_dump
de mon image j’obtiens :
C’est dû au fait que, lorsque l’on a défini notre champ ACF, on a demandé un tableau de données en format de sortie :
On observe qu’ACF nous fournit pas mal d’informations sur l’image, comme son nom ou son titre. Mais ce qui va nous intéresser c’est le sous-tableau sizes
qui contient toutes les tailles d’images intermédiaires que l’on a créées dans le cours sur les tailles d’images personnalisées.
On aurait pu également demander de ne recevoir que l’URL de l’image, ou encore simplement son ID. C’est d’ailleurs la solution que je vous conseillerai à terme.
En fait, recevoir directement l’URL est une mauvaise idée car vous n’aurez que celle de l’image originale, et si celle-ci fait plus de 2000px de large, on va avoir un souci de performances. C’est pour cela que l’on préfère récupérer l’une des tailles d’images intermédiaires.
Vous pouvez sinon récupérer l’ID de l’image. Dans ce cas quelques fonctions WordPress vont vous permettre de récupérer votre image :
On utilise la fonction native wp_get_attachment_image
pour générer le code HTML de l’image. Le second paramètre permet d’indiquer quelle taille d’image on souhaite.
Si vous souhaitez en savoir plus sur la gestion des champs ACF, je vous invite à consulter la documentation officielle qui est extrêmement bien réalisée. Et on va détailler tout cela dès le prochain cours.
Discover code, documentation and ideas in this comprehensive resource section. Find everything from Getting Started, Field Types, Functions, Actions, Filters, …
Et voici maintenant le résultat final :
Pas mal du tout !
Maintenant que votre groupe est en place, vos rédacteurs n’ont plus qu’à saisir leur contenu dans les champs ACF.
Vous savez désormais utiliser ACF pour ajouter des champs à vos contenus ! Vous allez pouvoir aller extrêmement loin grâce à WordPress et ACF, c’est un peu comme si vous veniez de découvrir vos nouveaux super pouvoirs !
Sachez enfin qu’aujourd’hui, pour cet exemple concret, on aurait pu créer un bloc Gutenberg. Si ça vous intéresse, j’ai une formation pour vous !
Dans les prochains cours, on va voir plus en détails les champs proposés par ACF, ainsi que leurs particularités.
Alina
Le 16 août 2019
Merci beaucoup pour cet article enrichissant. J’ai une petite question concernant les champs. En faite j’ai une page excitante et je voudrais ajouter 2 champs via ACF. Sur le back office on les voit, par contre sur le front ils n’apparaissent pas. Qu’est-ce qu’il faut faire svp?
Maxime BJ
Le 16 août 2019
La réponse se trouve dans les prochains cours. Ici on créé notre champ, et ensuite on va l’afficher dans notre template. Je te laisse prendre connaissance du cours suivant, tu devrais y voir plus clair !
diarrisso
Le 7 octobre 2019
Bonjour
jai un problem avec ACF pro , je viens de mettre en jour mais chez moi il s’affiche pas de categories link et groupe de button et ensuite j’arrive pas a faire de repetition et de flexible content aide moi !!!!, mon projet Traine. desole pour les fautes d’ortographe je suis sur un clavier Allemand .
merci d’avance
Maxime BJ
Le 17 octobre 2019
Il faudrait que tu vois directement avec leur support, mais avant ça essaie sur un site neuf pour voir si les problèmes sont là aussi. Il se peut que quelque chose fasse conflit dans ton installation
Pascal Dubois
Le 17 avril 2020
Bonjour, merci pour cet article. Je viens d’essayer ACF (super plugin) pour rajouter des champs à des produits woocommerce. Par contre je ne sais pas ou insérer le code php pour récupérer mes valeurs de champs dans mes pages produits.
Maxime BJ
Le 17 avril 2020
Je vous conseille du coup de prendre la formation par le début et voir notamment le cours sur le Template Hierarchy. Contrairement aux autres sites qui sont tournés en mode tuto, ici chaque cours utilise les concepts appris dans les précédents. Mais pour apporter tout de même une réponse courte il faut aller dans single-product.php. Si vous utilisez un thème télécharger, il faudra aussi un thème enfant (j’écris le cours la semaine prochaine)
teyssier
Le 1 juin 2020
Merci beaucoup pour ton article !
J’aimerais savoir comment tu as fait pour agencer pour tu as voulu tes colones dans le back office de ACF ?
Merci,
Maxime BJ
Le 1 juin 2020
C’est dans la version PRO d’ACF. On le voit plus tard dans la formation lorsque je parlerai des dispositions !
chris gaillard
Le 29 juin 2020
Le type de champ : Éditeur WYSIWYG s’appelle désormais Éditeur de contenu
Maxime BJ
Le 29 juin 2020
Merci je corrige (je suis sensé le savoir, c’est moi qui ai traduit).
Franck
Le 8 juillet 2020
Bonjour, quand je colle le code dans function.php du child theme, j’ai un message d’erreur :
« Vos modifications de code PHP ont été annulées en raison d’une erreur sur la ligne 25 du fichier wp-content/themes/pro-child/functions.php. Veuillez la corriger et réessayer d’enregistrer.
syntax error, unexpected ‘<', expecting end of file"
La ligne 25 correspond à la première ligne de votre code. les 24 premières correspondent à celles-ci :
Qu'ai-je fais de travers ?
Maxime BJ
Le 13 octobre 2020
Pensez à aller faire un tour dans le cours sur le Template Hierarchy pour connaitre le bon template. Mais en général si c’est un article, c’est dans single.php en effet. Après ça dépend du thème utilisé, si vous ne l’avez pas fait à la main.
Maxime BJ
Le 8 juillet 2020
Quel éditeur de code utilises-tu ?
Frank
Le 10 juillet 2020
J’ai collé le code à l’aide de dreamweaver.
Maxime BJ
Le 15 juillet 2020
OK. Est-ce que tu es à l’aise avec le PHP déjà ? J’ai l’impression que tu as collé le code dans le functions.php, alors qu’il fallait le coller dans le template de la page. Pense également à ne pas mettre la balise
< ?php
si tu es déjà dans du PHP. L'erreur peut provenir de là.Franck
Le 22 juillet 2020
Absolument pas, je pensais que suivre ce tuto serait simple pour un néophyte en php (du code a coller et hop).
J’ai collé le code dans l’éditeur de WordPress dans le single.php (celui qui correspond à la page des articles si je dis pas de bêtises), mais toujours sans succès.
Julie Chaumard
Le 26 septembre 2020
Bonjour,
Je vous remercie pour ces tutos très bien faits 😉
Je voudrais créer un menu déroulant qui contient les titres des posts d’une certaines catégorie de posts.
Par ex : dans une post type « Concerts », avoir un menu déroulant avec les articles du post type « Artistes ».
Est-ce possible avec ACF ?
Maxime BJ
Le 27 septembre 2020
Salut Julie. Tu vas avoir plusieurs possibilités :
– Soit faire une WP Query (on voit plus loin dans la formation) pour lister automatiquement les données (dans un ordre choisi : par exemple chronologique mais pas que)
– Soit faire un menu standard que tu remplis à la main
– Soit faire un champ relationnel dans ACF pour créer une sélection à la main et l’afficher dans une page en particulier
Ça va vraiment dépendre du besoin en fait. Tu peux m’en dire plus si tu veux afin que je t’oriente sur le meilleur choix.
Durel Frédéric
Le 28 septembre 2020
Bonjour, très bon tuto 🙂
J’aimerai savoir comment récupérer un champ ACF sur une page connecté ( et en fonction de la personne connectée)
Ex : une user meta age.
J’imagine avec l’ID en plus, mais je n’arrive pas le faire apparaître sur mon template profil connecté de mon thème perso
Maxime BJ
Le 28 septembre 2020
Salut, c’est justement au programme de la formation premium ACF !
Jean-Baptiste R
Le 28 novembre 2020
Merci pour ce tuto ! Pour le moment, j’intègre facilement mes champs ACF grâce à Elementor. Mais il faut que j’apprenne à regarder sous le capot de WordPress
Jay Duboll
Le 26 mars 2021
Super tuto ! bravo
petit détail minuscule, « Valeur affichée dans le template » est devenu « Format dans le modèle » ( dans le champ pochette )
Maxime BJ
Le 26 mars 2021
Merci, je corrige. En plus, le pire, c’est que c’est moi qui ai changé cette traduction !
Sal.A
Le 21 avril 2021
Bonjour, merci pour cet article. J’ai supprimé un champs ACF, pensant qu’il n’allait plus paraitre sur le site. Mais même en ayant « supprimé« le champs, il apparait toujours sur le siteweb. Je ne suis pas vraiment experte (j’arrive pas non plus à avoir accès au back, c’est pas moi qui ai codé le site)
Maxime BJ
Le 22 avril 2021
Oui car les données restent en base de données. Il va flaloir supprimer l’affichage des champs dans ton modèle de page get_field(‘tonchamp’).
Nicolas
Le 1 juin 2021
Bonjour, article très instructif donc merci beaucoup. Petite question, est-ce que les styles CSS des dans le code du template sont « fait maison » par vos soins ? Ou bien ce sont des classes présentent de base dans WordPress ?
Maxime BJ
Le 1 juin 2021
WordPress ne fournit pas de styles pour ton thème par défaut. C’est donc à toi de les créer. Tu peux également utiliser des starter-themes comme underscore qui te proposent une certaine base, ou même utiliser des librairies de styles comme Tailwind pour te simplifier la tâche.
Dominique
Le 29 août 2021
Bonjour,
Merci, mais je n’arrive pas à savoir si cela va pouvoir faire ce que je veux..
Exemple : je crée un type de contenu ‘personnel’ avec différents champs qui m’intéressent, ce qui va donner en fait un formulaire à remplir. Donc à chaque saisie on aura une fiche (qui pourra être une page par employé dans l’annuaire), employé1, employé2, employé3, etc.. avec toutes les infos et photo qui le concernent. Ensuite je veux afficher dans une page uniquement les employés du service compta et du bâtiment A, ou les ingénieurs qui sont basés à l’étranger par exemple, etc… Bref faire une requête sur les différents champs du type de contenu créé et afficher le résultat dans une page. Est-ce que ACF Pro permet de faire ça sans mettre (trop) les mains dans le code ? Est-ce qu’il faut avoir forcément un thème enfant, sinon risque de perdre la config suite à une mise à jour du thème ?
J’utilise Astra et Elementor (pas pro).
Prête à faire la formation si la réponse est oui ! Déjà fait wpchef 😉
Merci pour l’aiguillage !
Maxime BJ
Le 29 août 2021
Ce que tu cherches ici, en plus de données supplémentaires, est un système de filtre. Le plus simple, pour se passer au maximum du code, sera d’utiliser une extension comme WP Grid Builder (made in France) ou encore Facet WP. Les deux prennent en compte les champs ACF dans les filtres de tri qu’ils proposent. Il te faudra donc mixer les deux techniques (ACF + extension de filtre). Je t’invite à suivre tous les cours de la partie ACF dans un premier temps pour être à l’aise avec les champs et toutes les possibilités, puis voir ensuite pour ajouter des filtres.
Nox
Le 18 octobre 2021
Bonjour, comment faire pour récupérer les données inscrites dans les champs créés avec acf lors de l’inscription, pour les retranscrire dans le profil user afin de pouvoir les modifiers si nécessaire ?
Maxime BJ
Le 18 octobre 2021
Il va falloir utiliser le second paramètre de get_field, voici la doc correspondante : https://www.advancedcustomfields.com/resources/how-to-get-values-from-a-user/.
Nox
Le 18 octobre 2021
Merci pour ton retour. J’aimerai au préalable récupérer des champs de gravity forms à l’inscription dans des champs ACF ?
Maxime BJ
Le 18 octobre 2021
Tu peux utiliser le hook gform_after_submission de Gravity Forms : https://docs.gravityforms.com/gform_after_submission/.
Ensuite, tu peux enregistrer les données dans un user meta via : https://developer.wordpress.org/reference/functions/update_user_meta/.
Nox
Le 21 octobre 2021
Encore merci pour ton aide. Cependant je rencontre un problème lors de la validation du formulaire d’inscription (woocommerce). Par défaut woocommerce envoie un mail de confirmation d’inscription à l’utilisateur, et durant ce temps l’utilisateur n’a pas encore d’id, il m’est donc pas possible d’utiliser la méthode update_user_meta() qui demande en paramètre le user id, puisque à ce moment-là, il n’est pas encore créé. Aurais-tu une solution à m’apporter ?
Maxime BJ
Le 21 octobre 2021
À mon avis, lorsque l’e-mail est envoyé, l’utilisateur a déjà été créé. C’est quasi sûr, surtout si tu fais référence à l’e-mail qui indique l’identifiant + mot de passe de connexion. Par contre, je suis désolé mais c’est une problématique trop personnelle, et je ne peux pas t’accompagner sur du support aussi poussé.
Sébastien
Le 2 janvier 2022
Bonjour,
Bravo pour votre explication sur les ACF. Je suis novice, j’ai ACF gratuit et souhaite savoir si on peut utiliser les valeurs d’un champs pour ordonner selon ces valeurs (post cards dans mon cas).
Merci, et meilleure année 2022
Maxime BJ
Le 10 janvier 2022
Oui tu peux tout faire ! Tu vas par exemple pouvoir écrire une WP Query pour récupérer des publications, et les ordonner par rapport à la valeur d’un champ ACF (grâce aux paramètres de meta query).
Matias Brice
Le 12 janvier 2022
Bonjour , novice avec ACF j’ai un petit soucis je voulais utiliser acf pour faire des créations de personnel mais le probleme lorsque j’ai créer mon personnel il s’afficher et si je veux en créer un 2 eme les valeurs du premier personnel récupére celle du 2 eme .. Je peux pas utiliser mon groupe plusieurs fois sur ma page…
Maxime BJ
Le 12 janvier 2022
Je t’invite à continuer jusqu’au cours sur le champ répéteur. C’est lui qui t’apportera la solution à cette problématique.
Phil
Le 14 mars 2022
Bonjour tout le monde
je teste ACF (Advanced Custom Fields) pour créer une page d’accueil avec une interface administrateur.
Concrètement l’administrateur pourra “fabriquer” sa page d’accueil avec divers sections.
Ces sections seront paramétrables en BackOffice via plusieurs onglets, j’ai réussi à créer plusieurs sections paramétrables mais je bloque sur une qui est un répéteur contenant une image qui surplombe un bouton avec un lien.
J’ai créé un champs ACF Accueil avec toutes un onglet et toutes les sections, mais voici le champs pour lequel cela ne fonctionne pas, il est composé de :
champs “dons” – type onglet
Champs afficher oui-non / homepage_donsfrance / type Vrai-Faux
Champs Revenu / dons_revenu / type Texte
Champs Grille / dons_grid / type Répéteur
Mon répéteur est composé de
Lien / lien /type Lien
Couleur / color type Couleur
Titre / titre / type Texte
Image / image / type Image
Avez-vous une idée d’où ça coince ? Ni l’image, ni le texxte et l’url ne s’affiche ?
Merci d’avance ! (excusez le message un peu long mais je m’arrache les cheveux depuis 3 jours )
Maxime BJ
Le 14 mars 2022
Bonjour Phil, je t’invite à suivre la formation dans son intégralité avant tout. Tu trouveras la plupart de tes réponses. D’ailleurs, je pense que le champ flexible sera adapté à ta problématique.
Henock MASS
Le 22 mars 2022
Merci pour cet article qui m’a beaucoup aidé.
J’aimerais savoir comment l’ACF se comporte dans le cas de shortcode.
Maxime BJ
Le 22 mars 2022
ACF utilise les champs natifs de WordPress, et il n’y aura donc aucun souci de compatibilité avec les Shortcodes. Tout fonctionnera parfaitement !
Fred
Le 25 mars 2022
Hello,
je continue le cours, par contre petit souci dans celui-ci:
Lors de l’affichage de l’image, tu exposes une seconde façon de faire, en ne récupérant que l’id de l’image pour utiliser une fonction WP pour l’afficher directement.
Hors, tu utilises ce code dans le bloc de code exemple:
$image_id = get_field( ‘pochette’ )
Ce qui est le même code que pour la 1ere façon de faire, et on récupère donc tout le tableau de données, et non l’id.
J’ai du corriger et faire ça pour que ça fonctionne:
$image_id = get_field( ‘pochette’ )[‘id’];
C’est moi qui ai zappé un truc, ou c’est bien un erreur dans le code?
(a noter que je retrouve la même erreur au cours suivant sur les détails de champs ACF, donc c’est peut être moi qui ait zappé un truc 😉 )
Maxime BJ
Le 25 mars 2022
C’est parce que j’ai changé le format de sortie dans le champ ACF. J’ai définit ID de l’image au lieu de Tableau de données. La fonctionne reste donc la même mais c’est selon ce qu’on a dit à ACF de nous retourner, que la donnée va changer.
Niko
Le 13 mai 2022
Hello
Suite à la demande d’une agence SEO, je cherche à récupérer le contenu d’un champ (que j’ai créé via ACF dans les catégories de produit de WooCommerce) dans une fonction du fichier functions.php j’ai essayé des tones de trucs trouvé sur le net, mais rien ne fonctionne, je n’arrive pas à récupérer le contenu.
C’est pour remplacer le titre de la catégorie produit par un autre (celui du nouveau champ ACF) et que ce titre ne s’affiche que sur les archives catégorie du site (pas dans les menus et autres widgets où là s’affiche le titre par défaut.
Quelqu’un aurai une solution svp ?
Maxime BJ
Le 13 mai 2022
Dans ce cas le functions.php n’est pas le bon fichier. Il faudra plutôt faire ça directement sur le fichier de template concerné, selon le template hierarchy. Probablement archive-product.php ou taxonomy-product_cat.php
Julien
Le 12 juillet 2022
Bonsoir,
Dans les options d’un « groupe de champs », il y a :
Masquer
Sélectionnez les champs que vous souhaitez masquer sur la page d‘édition.
Cependant, les paramètres ne semble pas pris en compte, savez-vous pour quelle raison ? je précise que je possède pas encore ACF PRO.
Merci
Maxime BJ
Le 12 juillet 2022
Ce sont des anciennes options qui fonctionnaient uniquement avec l’ancien éditeur de WordPress. Ces réglages ne fonctionnent plus depuis l’éditeur de bloc (Gutenberg).
Julien
Le 12 juillet 2022
Du coup j’imagine qu’aucune alternative n’existe ? Parce-que ça me semblait être efficace pour l’expérience utilisateur de ne posséder que ce pourquoi il avait besoin.
Merci
Maxime BJ
Le 12 juillet 2022
Non car les métabox sont déclarées en JS côté Gutenberg désormais. Mais c’est pas plus mal je pense : au moins l’interface est cohérente. Tu peux toujours désactiver Gutenberg sur les CPT où tu n’en as pas besoin. Dans ce cas la page pourrait n’afficher que les champs ACF. Tu peux désactiver l’éditeur en passant show_in_rest à false dans la déclaration de ton CPT.
Yohan
Le 26 février 2023
Hello Maxime,
J’ai un soucis avec ACF… J’ai défini un champ nommé « intro_first_paragraph » que j’appelle de cette manière :
Qu’est-ce que j’ai oublié ? Merci d’avance pour ton aide !
Yohan
Le 26 février 2023
On supprimant le texte et en l’ajoutant à nouveau, cela fonctionne… C’est étrange mais au moins cela règle le soucis
Maxime BJ
Le 27 février 2023
Tu utilises bien the_field(‘intro_first_paragraph’); ? Est-ce que tu n’as pas eu un souci de cache (normalement non, même si tu en as un d’activé sur le site, il n’est pas actif pour les admins connectés). Si tu as trouvé, parfait !