Modifier en masse les champs ACF des articles et types de contenu WordPress
Vous pouvez modifier des champs ACF en masse dans WOLF sans aucun module complémentaire d'ACF : Advanced Custom Fields conserve chaque valeur comme un champ personnalisé ordinaire (métadonnée) de l'article, et WOLF modifie les métadonnées des articles, des pages et des types de contenu personnalisés. Ce qui demande de l'attention, c'est le format. Chaque type de champ ACF stocke sa valeur à sa manière, et ce format détermine la vue à choisir dans WOLF et ce que vous saisissez dans une cellule. Voici comment ACF stocke les valeurs, comment transformer les champs en colonnes, les bons réglages pour chaque type de champ courant, et pourquoi un champ reste parfois introuvable.
Comment ACF stocke les valeurs des champs
Lorsqu'un article comportant un champ nommé price est enregistré, ACF écrit deux lignes dans les métadonnées de l'article :
pricecontient la valeur, par exemple1200;_pricecontient la clé du champ, par exemplefield_650c1a2b3d4e5: une référence qui indique à ACF à quelle définition de champ appartient la valeur.
WOLF modifie la première ligne. Sa clé méta est le Nom du champ (Field Name) du groupe de champs, et non le Libellé du champ (Field Label) ni la clé field_. Trois cas modifient le nom ou l'emplacement :
- Les champs d'un groupe (Group) sont stockés sous la forme nom du groupe, tiret bas, nom du champ :
hero_title. - Les sous-champs d'un Repeater et de Flexible Content reçoivent une clé par ligne :
team_0_name,team_1_name, tandis que la clé parenteteamenregistre les lignes : leur nombre pour un Repeater, la liste des mises en page pour Flexible Content. Vous pouvez modifier une ligne existante sur de nombreux articles, par exemple la première ligne avecteam_0_name, mais vous ne pouvez pas ajouter ni supprimer de lignes : ACF ne lit que le nombre de lignes indiqué par la clé parente. - Les pages d'options, les termes de taxonomie et les utilisateurs conservent leurs valeurs ACF dans les tables des options, des métadonnées de termes et des métadonnées d'utilisateurs. Ce ne sont pas des métadonnées d'article ; elles ne sont donc pas disponibles dans WOLF.
Ajouter des champs ACF comme colonnes
- Ouvrez un article dont les champs ACF sont renseignés et enregistrés, et notez son ID (le nombre après
post=dans l'adresse). - Dans WOLF, sélectionnez le type de contenu dans le sélecteur de types de contenu, ouvrez l'onglet Champs méta (Meta Fields), saisissez l'ID sous Obtenir les clés méta de n'importe quel article par son ID (Get meta keys from any post by its ID) et cliquez sur Obtenir (Get).
- La liste affiche toutes les clés méta de cet article : chaque champ ACF en double (
priceet_price), ainsi que les clés propres à WordPress comme_edit_lock. Supprimez ce dont vous n'avez pas besoin, y compris les copies avec tiret bas des champs ACF. - Donnez à chaque clé restante un titre lisible, choisissez sa vue et son type dans le tableau ci-dessous, puis cliquez sur Enregistrer les champs méta (Save meta fields).
- Dans l'onglet Réglages (Settings), retrouvez les nouvelles colonnes avec la recherche de colonnes (columns finder), activez-les et cliquez sur Enregistrer tous les réglages (Save all settings).
Si vous connaissez le nom du champ, vous pouvez aussi le saisir sous Ajouter une clé personnalisée à la main (Add Custom key by hands). La documentation des champs méta décrit cet onglet en détail.
Quelle vue et quel type utiliser pour chaque type de champ ACF
| Type de champ ACF | Stocké dans la base de données comme | Vue et type WOLF |
|---|---|---|
| Text, Email, URL, oEmbed, Color Picker | texte brut | textinput, string |
| Text Area, WYSIWYG Editor | texte ou HTML | textarea |
| Number, Range | un nombre | textinput, number |
| True / False | 1 ou 0 | checkbox |
| Select, Radio Button, Button Group | la valeur de l'option choisie | textinput, string |
| Select à valeurs multiples, Checkbox | une liste sérialisée de valeurs d'options | array |
| Date Picker | 20261009 | textinput, number |
| Date Time Picker | 2026-10-09 14:30:00 | textinput, string |
| Time Picker | 14:30:00 | textinput, string |
| Image, File | un ID de fichier média | textinput, number |
| Gallery | une liste sérialisée d'ID de fichiers médias | array |
| Post Object, User (une valeur) | un ID d'article ou d'utilisateur | textinput, number |
| Post Object, User (valeurs multiples), Relationship | une liste sérialisée d'ID | array |
| Link, Google Map | un ensemble sérialisé de valeurs nommées (URL, titre, cible ; adresse, latitude, longitude) | array |
Choix : saisissez la valeur, pas le libellé
Dans ACF, les choix s'écrivent red : Red. La partie avant les deux-points est stockée, celle qui suit n'est qu'affichée. Saisissez red dans WOLF. Une valeur absente de la liste des choix est tout de même enregistrée, mais l'écran d'édition d'ACF n'affiche alors aucune sélection.
Dates : n'utilisez pas la vue calendar
ACF stocke la valeur d'un Date Picker au format Ymd, quel que soit le format d'affichage choisi : le 9 octobre 2026 devient 20261009. La vue calendar de WOLF travaille avec des horodatages Unix ; elle afficherait donc ces valeurs comme des dates de 1970 et enregistrerait un horodatage au lieu du format Ymd. Cela casse toutes les requêtes et tous les tris qui reposent sur le format Ymd, comme une liste d'événements à venir. Utilisez textinput avec le type number et saisissez les dates sous la forme 20261009. Le type number donne accès à un filtre de/à : 20261001 à 20261031 trouve donc tous les articles datés d'octobre. N'utilisez pas augmenter d'une valeur (increase by value) sur ces nombres : 20261031 plus 1 n'est pas une date. Les valeurs de Date Time Picker et de Time Picker se modifient comme du texte, exactement dans le format stocké.
Images, fichiers, galeries et relations sont des ID
Un champ Image ou File ne stocke que l'ID du fichier média : la colonne affiche donc un nombre, et la cellule ne propose pas de sélecteur de fichier. Pour changer le fichier, saisissez l'ID d'un autre fichier média : dans la Médiathèque, c'est le nombre après item= (vue en grille) ou post= (vue en liste) lorsque vous ouvrez le fichier. Les articles, pages et utilisateurs des champs Post Object, Relationship et User fonctionnent de la même façon.
Pour une Gallery ACF, choisissez la vue array, et non la vue gallery propre à WOLF. La vue gallery écrit une liste séparée par des virgules, comme 12,34,56, alors qu'ACF attend une liste sérialisée et ne lit pas une chaîne séparée par des virgules comme une galerie.
Listes de valeurs dans la fenêtre array
La vue array affiche dans la cellule un bouton qui ouvre une fenêtre contenant une ligne par élément : une clé et une valeur. Pour les listes ACF, les clés sont 0, 1, 2 dans l'ordre, et les valeurs sont des valeurs d'options ou des ID. Ajoutez un élément avec Ajouter une paire clé/valeur au tableau (Append array key/value), donnez-lui le numéro suivant comme clé, puis cliquez sur Appliquer (Apply). Dans l'onglet Édition en masse (Bulk Edit), la liste que vous composez remplace le champ de chaque article sélectionné ; elle n'ajoute pas un élément aux listes déjà présentes. Plus de détails dans modifier en masse des métadonnées sérialisées.
Filtrer et modifier en masse les champs ACF
Les colonnes méta activées apparaissent dans les onglets Filtres (Filters) et Édition en masse (Bulk Edit) comme les champs natifs :
- Les champs de texte se filtrent avec LIKE, EXACT (=), NOT EXACT (!=), NOT LIKE, Vide (Empty) et Non vide (NOT Empty), et acceptent en masse nouvelle valeur (new), ajouter à la fin (append), ajouter au début (prepend) et remplacer (replace).
- Les champs numériques se filtrent par plage de/à et acceptent définir une nouvelle valeur (set new), augmenter d'une valeur (increase by value), diminuer d'une valeur (decrease by value), augmenter de % (increase by %) et diminuer de % (decrease by %).
- Les champs True / False se filtrent et se modifient en masse sous forme Oui/Non.
- Les champs array se filtrent comme du texte sur la liste stockée. Cherchez avec LIKE la valeur de l'option entre guillemets doubles,
"red", pour trouver les articles où cette option est sélectionnée sans retrouver aussireddish.
Pour copier un champ dans un autre, utilisez la syntaxe {meta:field_name} décrite dans copier des données entre champs méta. Chaque modification est enregistrée et peut être annulée dans l'onglet Historique (History).
Renseigner un champ sur des articles qui ne l'ont jamais eu
Une tâche en masse classique consiste à renseigner un champ nouvellement ajouté sur des centaines d'articles existants. Ces articles n'ont jamais été enregistrés avec le champ ; ils n'ont donc pas de ligne de référence _price. WOLF écrit correctement la valeur et l'écran d'édition d'ACF l'affiche, mais get_field() dans le thème ne peut pas relier la valeur à sa définition de champ et la renvoie sans mise en forme. Pour du texte et des nombres, cela ne change rien ; pour les champs dotés d'un Format de retour (Return Format) (dates, images, fichiers, galeries, objets article), le thème reçoit la valeur brute, par exemple un ID d'image au lieu d'un tableau ou d'une URL d'image.
WOLF peut aussi ajouter les références :
- Ajoutez
_pricecomme champ méta avec la vue textinput et le type string, puis activez sa colonne. - Copiez sa valeur, la clé
field_…, depuis n'importe quel article enregistré avec le champ. - Filtrez
_priceavec Vide (Empty) et modifiez-le en masse avec nouvelle valeur (new) et la clé copiée.
Champ ACF introuvable ou absent : liste de contrôle
- L'article d'exemple n'a pas encore le champ. ACF n'écrit un champ, même vide, que lorsqu'un article est enregistré, et Obtenir (Get) ne liste que les clés qui existent sur cet article. Utilisez un article enregistré après l'ajout du champ, ou ajoutez le nom à la main.
- Mauvais nom. Vous avez utilisé le Libellé du champ (Field Label) ou la clé
field_au lieu du Nom du champ (Field Name), ou bien un sous-champ sans le préfixe de son groupe ou de son repeater. - Pas une métadonnée d'article. Le champ appartient à une page d'options, à un terme de taxonomie ou à un utilisateur.
- Un autre type de contenu. Lorsque Colonnes et métadonnées distinctes par type de contenu (Separate columns and meta for post types) est réglé sur Oui (Yes), les champs méta appartiennent au type de contenu qui était sélectionné lors de leur ajout.
- Non activé. Le champ a été enregistré dans Champs méta (Meta Fields) mais sa colonne n'a pas été activée dans Réglages (Settings).
- Des nombres ou « Array » dans la cellule. C'est ainsi que le champ est stocké : des ID pour les fichiers et les relations, la vue array pour les listes.
Si un champ se comporte encore différemment du tableau ci-dessus, ouvrez un sujet sur le forum de support de WOLF en indiquant le type du champ, son nom et l'ID d'un article qui contient une valeur.