WPML

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 :

ActionDescriptionVisible dans l’ATE ?
TraduireActive la valeur du champ personnalisé pour la traductionOui
Copier Copie la valeur du champ personnalisé de la langue par défaut vers la langue secondaire tout en les gardant synchroniséesNon
Copier une foisCopie la valeur du champ personnalisé de la langue par défaut vers la langue secondaire sans les garder synchroniséesNon
IgnorerÉvite de copier la valeur du champ personnalisé vers la langue secondaireNon
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é :

Champs personnalisés avec des étiquettes dans l’Éditeur de traduction avancé
Champs personnalisés avec des étiquettes 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>

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 :

Écrit par Amir · Dernière mise à jour 29 janvier 2026