WPML

Scopri come definire le impostazioni di traduzione per i campi personalizzati usando il file wpml-config.xml. Imposta le opzioni di traduzione come traduci e copia, e inserisci attributi aggiuntivi.

Impostare le opzioni di traduzione per i campi personalizzati

WPML fornisce quattro opzioni di traduzione per i campi personalizzati:

AzioneDescrizioneVisibile in ATE?
TraduciAbilita il valore del campo personalizzato per la traduzione
Copia Copia il valore del campo personalizzato dalla lingua predefinita alla lingua secondaria mantenendoli sincronizzatiNo
Copia una voltaCopia il valore del campo personalizzato dalla lingua predefinita alla lingua secondaria senza mantenerli sincronizzatiNo
IgnoraEvita di copiare il valore del campo personalizzato nella lingua secondariaNo
Esempio di aggiunta di campi personalizzati al file di configurazione della lingua
<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>

Aggiungere attributi per i campi personalizzati

Attributi label e group

WPML ti permette di aggiungere attributi che appaiono nell’Editor di traduzione avanzato. Questi includono:

  • style – visualizza una singola riga (line), un’area di testo (textarea) o WYSIWYG (visual)
  • label – visualizza l’etichetta accanto al campo
  • group – specifica a quale gruppo appartiene il campo personalizzato. Quando un campo è in un gruppo:
    • Il campo viene rimosso dalla sezione dei campi personalizzati
    • Il campo viene aggiunto alla sezione del gruppo correlato
Esempio di attributi dei campi personalizzati
<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>

Ecco come appariranno questi attributi nell’Editor di traduzione avanzato:

Campi personalizzati con etichette nell’Editor di traduzione avanzato
Campi personalizzati con etichette nell’Editor di traduzione avanzato

Attributo encode

Puoi anche aggiungere attributi encode opzionali per cambiare la codifica dal valore predefinito (nessuna codifica).  L’attributo encode accetta i seguenti valori:

  • json
  • base64
  • urlencode

Se vuoi usare più codifiche, separa i valori con una virgola:

Esempio di aggiunta di campi personalizzati al file di configurazione della lingua per cambiare la codifica
<wpml-config>
  <custom-fields>
    <custom-field action="translate" encoding="json,base64">keywords</custom-field>
  </custom-fields>
</wpml-config>

Se il tuo campo personalizzato contiene un link, puoi usare l’attributo translate_link_target per forzare WPML a controllare e regolare i link nel campo personalizzato. Affinché questo attributo funzioni, assicurati che il link sia racchiuso tra i tag <a>.

Esempio di come forzare WPML a regolare i link in un campo personalizzato
<wpml-config>
  <custom-fields>
    <custom-field action="translate" translate_link_target="1">name_of_the_acf_field</custom-field>
  </custom-fields>
</wpml-config>

Per impostazione predefinita, WPML traduce tutte le sottochiavi nei campi personalizzati. Per ignorare questo comportamento, specifica quali sottochiavi devono essere tradotte.

Esempio di codice per la traduzione delle sottochiavi nei campi personalizzati
<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>

Caratteri jolly

Puoi anche usare i caratteri jolly nello stesso modo in cui vengono usati per i Testi admin:

  • Trova tutti i sottocampi che iniziano con title- usando il codice:
    <key name="title-*" />
  • Trova tutti i sottocampi ed è generalmente usato per trovare un indice di array usando il codice:
    <key name="*" />
  • Per ottenere [{"title":"First title"},{"title":"Second title"}] usa il codice
Esempio di file di configurazione con caratteri jolly
<wpml-config>
  <custom-fields-texts>
    <key name="key-name">
    <key name="*">
    <key name="title" />
    </key>
    </key>
  </custom-fields-texts>
</wpml-config>

Convertire automaticamente gli ID nei campi personalizzati degli articoli

A partire da WPML 4.8, puoi dichiarare gli ID situati nei campi personalizzati degli articoli. WPML sostituisce gli ID con le loro versioni tradotte nel frontend.

Puoi farlo solo quando l’opzione di traduzione è Copia (ovvero, quando usi <custom-field action="copy">).

In custom-fields del tuo file wpml-config.xml, usa:

  • type per indicare quale oggetto è di riferimento, ad es. post-ids
  • sub-type (opzionale) quando vuoi dichiarare lo slug di un tipo di post

WPML può rilevare e convertire gli ID in questi formati:

  • Un singolo ID (ad es. 123)
  • Un elenco di ID separati da virgola (ad es. “123,456,789”)
  • Un array (e array codificato) di ID (ad es. [123,456,789])
Esempio di dichiarazione degli ID nei campi personalizzati
<custom-fields>
	<custom-field action="copy" type="post-ids" sub-type="product">custom_field_with_id</custom-field>
</custom-fields>

Quando gli ID sono annidati nella sezione custom-fields-texts in un sottolivello, WPML li rileverà e li convertirà indipendentemente dall’impostazione di traduzione del campo (copia, traduci, ecc.).

Esempio di dichiarazione degli ID nei campi personalizzati annidati
<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>

Usando la stessa sintassi type e sub-type, puoi dichiarare gli ID nei testi admin (tabella wp_options).

Impostare le opzioni di traduzione per i campi personalizzati dei termini di tassonomia

Per tradurre i campi personalizzati dei termini di tassonomia, devi specificare il nome del campo e l’azione che WPML deve intraprendere: translate, copy, copy-once, ignore.

Annida questo markup sotto il tag wpml-config.

Puoi impostare le seguenti opzioni di traduzione per i campi personalizzati dei termini:

  • translate: permette al tuo utente di tradurre il valore del termine personalizzato. Questi termini appaiono nella schermata dell’Editor di traduzione e possono essere tradotti manualmente o automaticamente, oppure inviati ad altri traduttori.
  • copy: copia il valore del termine personalizzato della lingua predefinita nelle lingue secondarie. Questo significa che l’aggiornamento del valore del termine personalizzato della lingua predefinita verrà sempre copiato nella lingua secondaria. I termini personalizzati impostati su copy non vengono mostrati nella schermata dell’Editor di traduzione.
  • copy-once: copia il valore del termine personalizzato nella lingua secondaria durante il processo di traduzione iniziale. I termini personalizzati che usano l’azione copy-once non appariranno nella schermata dell’Editor di traduzione. Tuttavia, l’utente può modificare il valore del termine personalizzato della lingua secondaria affinché sia diverso dalla lingua predefinita usando la schermata di modifica dell’articolo.
  • ignore: evita che il termine personalizzato venga copiato nella lingua secondaria.
Esempio di aggiunta di termini personalizzati al file di configurazione della lingua
<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>

Convertire automaticamente gli ID memorizzati nei campi personalizzati dei termini di tassonomia

Puoi farlo solo quando il campo è impostato su Copia (ovvero, quando usi <custom-term-field action="copy">).

Proprio come per i campi personalizzati degli articoli, puoi dichiarare gli ID degli oggetti contenuti nei campi personalizzati delle tassonomie. WPML li converte poi automaticamente nelle loro versioni tradotte.

Nella sezione custom-term-fields, usa:

  • type per indicare quale oggetto è di riferimento, ad es. post-ids o taxonomy-ids
  • sub-type (opzionale) quando vuoi dichiarare l’entità specifica
Esempio di dichiarazione degli ID nei campi personalizzati dei termini
<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>

Risorse aggiuntive

Per saperne di più sul file wpml-config.xml , visita la guida ai File di configurazione della lingua.

Per personalizzare altri elementi usando il file wpml-config.xml, visita le nostre guide aggiuntive:

Scritto da Amir · Ultimo aggiornamento 29 gennaio 2026