Découvrez comment définir les paramètres de traduction pour les champs personnalisés à l’aide du fichier wpml-config.xml. Définissez des options de traduction telles que traduire et copier, et insérez des attributs supplémentaires.
Définir les options de traduction pour les champs personnalisés
WPML propose quatre options de traduction pour les champs personnalisés :
| Action | Description | Visible dans l’ATE ? |
|---|---|---|
| Traduire | Active la valeur du champ personnalisé pour la traduction | Oui |
| Copier | Copie la valeur du champ personnalisé de la langue par défaut vers la langue secondaire tout en les gardant synchronisées | Non |
| Copier une fois | Copie la valeur du champ personnalisé de la langue par défaut vers la langue secondaire sans les garder synchronisées | Non |
| Ignorer | Évite de copier la valeur du champ personnalisé vers la langue secondaire | Non |
Exemple d’ajout de champs personnalisés au fichier de configuration de langue
<wpml-config>
<custom-fields>
<custom-field action="copy">quantity</custom-field>
<custom-field action="translate">custom-title</custom-field>
<custom-field action="copy">weight</custom-field>
<custom-field action="copy-once">bg-color</custom-field>
<custom-field action="translate">custom-description</custom-field>
<custom-field action="ignore">date-added</custom-field>
</custom-fields>
</wpml-config>Ajouter des attributs pour les champs personnalisés
Attributs d’étiquette et de groupe
WPML vous permet d’ajouter des attributs qui apparaissent dans l’Éditeur de traduction avancé. Cela inclut :
- style – affiche une seule ligne (line), une zone de texte (textarea) ou un éditeur WYSIWYG (visual)
- label – affiche une étiquette à côté du champ
- group – spécifie à quel groupe appartient le champ personnalisé. Lorsqu’un champ se trouve dans un groupe :
- Le champ est retiré de la section des champs personnalisés
- Le champ est ajouté à la section du groupe correspondant
Exemple d’attributs de champs personnalisés
<wpml-config>
<custom-fields>
<custom-field action="translate" style="line" label="Title">custom-title</custom-field>
<custom-field action="translate" style="textarea" label="Description">custom-description</custom-field>
<custom-field action="translate" style="visual" label="Some content" group="Custom group">custom-wysiwyg</custom-field>
</custom-fields>
</wpml-config>Voici à quoi ressembleront ces attributs dans l’Éditeur de traduction avancé :

Attribut d’encodage
Vous pouvez également ajouter des attributs encode optionnels pour modifier l’encodage par rapport à la valeur par défaut (encodage no). L’attribut Encoding accepte les valeurs suivantes :
- json
- base64
- urlencode
Si vous souhaitez utiliser plusieurs encodages, séparez les valeurs par une virgule :
Exemple d’ajout de champs personnalisés au fichier de configuration de langue pour modifier l’encodage
<wpml-config>
<custom-fields>
<custom-field action="translate" encoding="json,base64">keywords</custom-field>
</custom-fields>
</wpml-config>Attribut de traduction de lien
Si votre champ personnalisé contient un lien, vous pouvez utiliser l’attribut translate_link_target pour forcer WPML à vérifier et ajuster les liens dans le champ personnalisé. Pour que cet attribut fonctionne, assurez-vous que le lien est enveloppé dans des balises <a>.
Exemple pour forcer WPML à ajuster les liens dans un champ personnalisé
<wpml-config>
<custom-fields>
<custom-field action="translate" translate_link_target="1">name_of_the_acf_field</custom-field>
</custom-fields>
</wpml-config>WPML traduit toutes les sous-clés des champs personnalisés par défaut. Pour contourner cela, spécifiez quelles sous-clés doivent être traduites.
Exemple de code pour la traduction des sous-clés dans les champs personnalisés
<wpml-config>
<custom-fields>
<custom-field action="translate">with_attributes</custom-field>
<custom-field action="translate">with_deep_attributes</custom-field>
<custom-field action="translate">no_attributes</custom-field>
</custom-fields>
<custom-fields-texts>
<key name="with_attributes">
<key name="attribute1" />
<key name="attribute2" />
</key>
<key name="with_deep_attributes">
<key name="attribute1" />
<key name="attribute2">
<key name="level1">
<key name="level2">
</key>
</key>
</key>
</key>
</custom-fields-texts>
</wpml-config>Caractères génériques
Vous pouvez également utiliser des caractères génériques de la même manière que pour les textes d’administration :
- Faire correspondre tous les sous-champs commençant par title- à l’aide du code :
<key name="title-*" /> - Faire correspondre tous les sous-champs (généralement utilisé pour faire correspondre un index de tableau) à l’aide du code :
<key name="*" /> - Pour obtenir
[{"title":"First title"},{"title":"Second title"}], utilisez le code
Exemple de fichier de configuration avec des caractères génériques
<wpml-config>
<custom-fields-texts>
<key name="key-name">
<key name="*">
<key name="title" />
</key>
</key>
</custom-fields-texts>
</wpml-config>Conversion automatique des ID dans les champs personnalisés d’articles
Depuis WPML 4.8, vous pouvez déclarer les ID situés dans les champs personnalisés d’articles. WPML remplace les ID par leurs versions traduites sur le front-end.
Vous ne pouvez le faire que lorsque l’option de traduction est Copier (c’est-à-dire lors de l’utilisation de <custom-field action="copy">).
Dans la section custom-fields de votre fichier wpml-config.xml, utilisez :
- type pour indiquer quel objet est référencé, par ex. post-ids
- sub-type (optionnel) lorsque vous souhaitez déclarer le slug d’un type de publication
WPML peut détecter et convertir les ID dans ces formats :
- Un seul ID (par ex. 123)
- Une liste d’ID séparés par des virgules (par ex. « 123,456,789 »)
- Un tableau (et un tableau encodé) d’ID (par ex. [123,456,789])
Exemple de déclaration d’ID dans des champs personnalisés
<custom-fields> <custom-field action="copy" type="post-ids" sub-type="product">custom_field_with_id</custom-field> </custom-fields>
Lorsque les ID sont imbriqués dans la section custom-fields-texts à un sous-niveau, WPML les détectera et les convertira indépendamment du paramètre de traduction du champ (copier, traduire, etc.).
Exemple de déclaration d’ID dans des champs personnalisés imbriqués
<wpml-config>
<custom-fields-texts>
<key name="custom_field_with_nested_ids">
<key name="custom_field_nested_key_with_ids" type="post-ids" sub-type="product" />
<key name="custom_field_nested_key_with_ids_with_wildcard_*" type="post-ids" sub-type="product" />
<key name="custom_field_nested_key_with_subkey">
<key name="custom_field_nested_key_with_subkey_with_ids" type="post-ids" sub-type="product" />
</key>
</key>
</custom-fields-texts>
</wpml-config>En utilisant la même syntaxe pour type et sub-type, vous pouvez déclarer des ID dans les textes d’administration (table wp_options).
Définir les options de traduction pour les champs personnalisés de termes de taxonomie
Pour traduire les champs personnalisés des termes de taxonomie, vous devez spécifier le nom du champ et l’action que WPML doit effectuer : traduire, copier, copier une fois, ignorer.
Imbriquez ce balisage sous la balise wpml-config.
Vous pouvez définir les options de traduction suivantes pour les champs de termes personnalisés :
- translate : permet à votre utilisateur de traduire la valeur du terme personnalisé. Ces termes apparaissent sur l’écran de l’Éditeur de traduction et peuvent être traduits manuellement ou automatiquement, ou envoyés à d’autres traducteurs.
- copy : copie la valeur du terme personnalisé de la langue par défaut vers les langues secondaires. Cela signifie que la mise à jour de la valeur du terme personnalisé dans la langue par défaut sera toujours copiée vers la langue secondaire. Les termes personnalisés définis sur copy n’apparaissent pas sur l’écran de l’Éditeur de traduction.
- copy-once : copie la valeur du terme personnalisé vers la langue secondaire lors du processus de traduction initial. Les termes personnalisés qui utilisent l’action copy-once n’apparaîtront pas sur l’écran de l’Éditeur de traduction. Cependant, l’utilisateur peut modifier la valeur du terme personnalisé de la langue secondaire pour qu’elle soit différente de celle de la langue par défaut à l’aide de l’écran d’édition de l’article.
- ignore : empêche la copie du terme personnalisé vers la langue secondaire.
Exemple d’ajout de termes personnalisés au fichier de configuration de langue
<wpml-config>
<custom-term-fields>
<custom-term-field action="copy">term_meta_A</custom-term-field>
<custom-term-field action="translate">term_meta_B</custom-term-field>
<custom-term-field action="ignore">term_meta_C</custom-term-field>
<custom-term-field action="copy-once">term_meta_D</custom-term-field>
</custom-term-fields>
</wpml-config>Conversion automatique des ID stockés dans les champs personnalisés de termes de taxonomie
Vous ne pouvez le faire que lorsque le champ est défini sur Copier (c’est-à-dire lors de l’utilisation de <custom-term-field action="copy">).
Tout comme pour les champs personnalisés d’articles, vous pouvez déclarer les ID d’objets contenus dans les champs personnalisés de taxonomie. WPML les convertit ensuite automatiquement en leurs versions traduites.
Dans la section custom-term-fields, utilisez :
- type pour indiquer quel objet est référencé, par ex. post-ids ou taxonomy-ids
- sub-type (optionnel) lorsque vous souhaitez déclarer l’entité spécifique
Exemple de déclaration d’ID dans des champs de termes personnalisés
<wpml-config>
<custom-term-fields>
<custom-term-field action="copy" type="post-ids" sub-type="product">custom_term_field_with_id</custom-term-field>
</custom-term-fields>
</wpml-config>Ressources supplémentaires
Pour en savoir plus sur le fichier wpml-config.xml, consultez le guide sur les fichiers de configuration de langue.
Pour personnaliser d’autres éléments à l’aide du fichier wpml-config.xml, consultez nos guides supplémentaires :
- Traduire des shortcodes personnalisés avec WPML
- Enregistrer le contenu du constructeur de pages pour la traduction
- Enregistrer les widgets personnalisés de constructeur de pages pour la traduction
- Enregistrer les termes, types de publication et taxonomies personnalisés comme traduisibles
- Rendre les blocs Gutenberg personnalisés traduisibles
- Traduire les textes que le thème et les extensions enregistrent dans wp_options
- Personnaliser le sélecteur de langue WPML à l’aide du fichier de configuration de WPML