ACFML – Champs personnalisés multilingues ACF et ACF Pro dans WordPress
Rendez chaque champ personnalisé de votre site multilingue. ACFML ajoute la prise en charge multilingue à Advanced Custom Fields et ACF Pro. Il couvre chaque type de champ, chaque groupe de champs, chaque page d'options, ainsi que les libellés des champs eux-mêmes. Les configurations ACF Pro avec Répéteur, Contenu flexible, Clone, logique conditionnelle et champs locaux enregistrés en PHP sont toutes prises en charge. Inclus avec Multilingual CMS et Agency.
Chaque type de champ ACF est multilingue
Si vous créez des sites avec ACF, ACFML couvre tous les types de champs du catalogue ACF et ACF Pro :
- Les champs Texte et Wysiwyg se traduisent par langue.
- Les lignes Répéteur et Contenu flexible restent alignées dans toutes les langues.
- Les champs Image, Fichier et Galerie peuvent basculer vers des ressources localisées par langue.
- Les champs Lien, Relation et Objet de publication restent correctement connectés entre les langues.
- Les champs Sélecteur de date, Sélecteur de couleur, Carte et les autres champs interactifs se comportent correctement par langue.
Les types de publication personnalisés, les taxonomies et les pages d’options que vous enregistrez via ACF se traduisent également, y compris leurs libellés. Le site que vous créez avec ACF est le site qui devient multilingue avec ACFML, et non un sous-ensemble.
Choisissez ce qui est identique et ce qui est différent par langue
Les groupes de champs ACF n’ont pas un comportement de traduction unique. La page Notre équipe de votre site affiche les mêmes membres de l’équipe dans chaque langue : traduisez leurs noms et biographies, et gardez leur structure intacte. La page Événements affiche des événements différents selon les publics : affichez des événements totalement différents par langue. La page Spécifications du produit affiche un mélange : traduisez la description, et gardez le SKU et le prix identiques.
ACFML gère ces trois cas de figure par groupe de champs : Mêmes champs dans toutes les langues, Champs différents selon les langues et Mode expert pour les configurations mixtes. Choisissez le mode qui correspond à l’objectif de chaque groupe de champs ; ACFML configure automatiquement le comportement de traduction.
Contrôle de traduction par champ
À l’intérieur d’un groupe de champs, chaque champ obtient sa propre préférence de traduction :
- Traduire. La valeur du champ se traduit par langue.
- Copier. La valeur du champ reste synchronisée dans toutes les langues ; modifiez-la une fois et elle se propage.
- Copier une fois. La valeur du champ sert de base aux nouvelles traductions, puis chaque version linguistique peut être modifiée indépendamment.
- Ne pas traduire. Le champ est entièrement ignoré (par exemple, un champ interne réservé à l'interface d'administration).
Des valeurs par défaut logiques par type de champ sont fournies prêtes à l’emploi : les champs Texte et Wysiwyg sont définis par défaut sur Traduire, les champs structurés tels que Image, Lien et Nombre sont définis par défaut sur Copier. La référence complète des préréglages se trouve sur Comment traduire les champs personnalisés ACF.
Les lignes Répéteur et Contenu flexible restent alignées dans toutes les langues
Les champs Répéteur et Contenu flexible sont souvent le point faible des configurations ACF multilingues dans d’autres outils : les lignes se désynchronisent, les mises en page divergent et les traducteurs voient un contenu qu’ils ne reconnaissent pas. ACFML garde la structure des lignes alignée dans toutes les langues par défaut. Les traducteurs voient les mêmes lignes dans le même ordre, avec chaque sous-champ traduisible à sa place. Si vous avez besoin de structures divergentes par langue (par exemple, une liste d’événements différente dans chaque langue), la préférence Copier une fois permet de le faire.
Les champs locaux (enregistrés en PHP) obtiennent le même comportement de traduction
De nombreux sites de production enregistrent les champs ACF en PHP plutôt que dans l'interface d'administration d’ACF (pour la portabilité, le contrôle de version ou les configurations intégrées au thème). ACFML 2.2.0 (février 2026) apporte une prise en charge complète des champs locaux. Vous définissez la préférence de traduction de chaque champ avec la clé wpml_cf_preferences dans la définition du groupe de champs, vous la synchronisez dans WPML depuis ACF > Outils, et les écrans de l'interface d'administration reflètent ce que le groupe de champs déclare. Les fichiers JSON locaux d’ACF transportent les préférences avec eux lorsque vous exportez et importez entre des sites. La procédure étape par étape se trouve sur la page de tutoriel sous Définir les préférences pour les champs enregistrés en PHP ou JSON.
Hooks de développeur pour les cas particuliers
Pour les sites avec une logique de traduction de champs personnalisée (exclure des champs spécifiques, remplacer la préférence par défaut pour un type de champ globalement, masquer les annotations aux traducteurs), ACFML expose deux filtres (acfml_should_translate_acf_entity, acfml_field_group_mode_field_translation_preference) et quatre constantes (ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS, ACFML_HIDE_FIELD_ANNOTATIONS, ACFML_REPEATER_SYNC_DEFAULT, ACFML_SCAN_LOCAL_FIELDS). La référence complète avec des exemples de code se trouve sur Référence des hooks et constantes ACFML.
Créé et maintenu en collaboration avec l’équipe ACF
WPML et l’équipe ACF travaillent en étroite collaboration sur une compatibilité continue, confirmée sur la page de compatibilité ACF commune. Lorsqu’ACF ou ACF Pro publie une version, ACFML suit le rythme ; lorsqu’ACFML a besoin d’une prise en charge du côté d’ACF pour un nouveau comportement de traduction, l’intégration est construite ensemble plutôt que par rétro-ingénierie.
ACFML est inclus avec WPML
ACFML est fourni avec Multilingual CMS et WPML Agency. Aucun achat séparé, aucuns frais par site. Achetez WPML une fois et chaque site ACF couvert par votre compte devient multilingue. Si vous avez déjà WPML, activez ACFML depuis votre page de téléchargements WPML.