WPML

Erfahren Sie, wie Sie Übersetzungseinstellungen für benutzerdefinierte Felder mithilfe der Datei wpml-config.xml definieren. Legen Sie Übersetzungsoptionen wie Übersetzen und Kopieren fest und fügen Sie zusätzliche Attribute ein.

Übersetzungsoptionen für benutzerdefinierte Felder festlegen

WPML bietet vier Übersetzungsoptionen für benutzerdefinierte Felder:

AktionBeschreibungIm ATE sichtbar?
ÜbersetzenAktiviert den Wert des benutzerdefinierten Feldes für die ÜbersetzungJa
Kopieren Kopiert den Wert des benutzerdefinierten Feldes aus der Standardsprache in die Sekundärsprache und hält beide synchronNein
Einmal kopierenKopiert den Wert des benutzerdefinierten Feldes aus der Standardsprache in die Sekundärsprache, ohne beide synchron zu haltenNein
IgnorierenVerhindert das Kopieren des Wertes des benutzerdefinierten Feldes in die SekundärspracheNein
Beispiel für das Hinzufügen benutzerdefinierter Felder zur Sprachkonfigurationsdatei
<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>

Attribute für benutzerdefinierte Felder hinzufügen

Label- und Group-Attribute

WPML ermöglicht es Ihnen, Attribute hinzuzufügen, die im Erweiterten Übersetzungs-Editor angezeigt werden. Dazu gehören:

  • style – Anzeige als einzelne Zeile (line), Textbereich (textarea) oder WYSIWYG (visual)
  • label – zeigt ein Label neben dem Feld an
  • group – gibt an, zu welcher Gruppe das benutzerdefinierte Feld gehört. Wenn sich ein Feld in einer Gruppe befindet:
    • Wird das Feld aus dem Abschnitt für benutzerdefinierte Felder entfernt
    • Wird das Feld zum Abschnitt der zugehörigen Gruppe hinzugefügt
Beispiel für Attribute benutzerdefinierter Felder
<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>

So sehen diese Attribute im erweiterten Übersetzungs-Editor aus:

Benutzerdefinierte Felder mit Labels im erweiterten Übersetzungs-Editor
Benutzerdefinierte Felder mit Labels im erweiterten Übersetzungs-Editor

Encode-Attribut

Sie können auch optionale encode-Attribute hinzufügen, um die Kodierung vom Standardwert (no encoding) zu ändern. Das Attribut encoding akzeptiert die folgenden Werte:

  • json
  • base64
  • urlencode

Wenn Sie mehrere Kodierungen verwenden möchten, trennen Sie die Werte mit einem Komma:

Beispiel für das Hinzufügen benutzerdefinierter Felder zur Sprachkonfigurationsdatei, um die Kodierung zu ändern
<wpml-config>
  <custom-fields>
    <custom-field action="translate" encoding="json,base64">keywords</custom-field>
  </custom-fields>
</wpml-config>

Wenn Ihr benutzerdefiniertes Feld einen Link enthält, können Sie das Attribut translate_link_target verwenden, um WPML zu zwingen, Links im benutzerdefinierten Feld zu überprüfen und anzupassen. Damit dieses Attribut funktioniert, stellen Sie sicher, dass der Link in <a>-Tags eingeschlossen ist.

Beispiel, wie WPML gezwungen wird, Links in einem benutzerdefinierten Feld anzupassen
<wpml-config>
  <custom-fields>
    <custom-field action="translate" translate_link_target="1">name_of_the_acf_field</custom-field>
  </custom-fields>
</wpml-config>

WPML übersetzt standardmäßig alle Unterschlüssel in benutzerdefinierten Feldern. Um dies zu umgehen, geben Sie an, welche Unterschlüssel übersetzt werden sollen.

Code-Beispiel für die Übersetzung von Unterschlüsseln in benutzerdefinierten Feldern
<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>

Platzhalter

Sie können auch Platzhalter auf die gleiche Weise verwenden, wie sie für Admin-Texte verwendet werden:

  • Erfassen Sie alle Unterfelder, die mit title- beginnen, mithilfe dieses Codes:
    <key name="title-*" />
  • Erfassen Sie alle Unterfelder (wird im Allgemeinen verwendet, um einen Array-Index zu erfassen) mithilfe dieses Codes:
    <key name="*" />
  • Um [{"title":"First title"},{"title":"Second title"}] zu erhalten, verwenden Sie den Code
Beispiel einer Konfigurationsdatei mit Platzhaltern
<wpml-config>
  <custom-fields-texts>
    <key name="key-name">
    <key name="*">
    <key name="title" />
    </key>
    </key>
  </custom-fields-texts>
</wpml-config>

IDs in benutzerdefinierten Feldern von Beiträgen automatisch konvertieren

Ab WPML 4.8 können Sie IDs deklarieren, die sich in benutzerdefinierten Feldern von Beiträgen befinden. WPML ersetzt die IDs im Frontend durch ihre übersetzten Versionen.

Sie können dies nur tun, wenn die Übersetzungsoption Kopieren lautet (das heißt, wenn Sie <custom-field action="copy"> verwenden).

Verwenden Sie in custom-fields Ihrer Datei wpml-config.xml Folgendes:

  • type, um anzugeben, auf welches Objekt verwiesen wird, z. B. post-ids
  • sub-type (optional), wenn Sie den Slug eines Beitragstyps deklarieren möchten

WPML kann IDs in diesen Formaten erkennen und konvertieren:

  • Eine einzelne ID (z. B. 123)
  • Eine kommagetrennte Liste von IDs (z. B. „123,456,789“)
  • Ein Array (und kodiertes Array) von IDs (z. B. [123,456,789])
Beispiel für die Deklaration von IDs in benutzerdefinierten Feldern
<custom-fields>
	<custom-field action="copy" type="post-ids" sub-type="product">custom_field_with_id</custom-field>
</custom-fields>

Wenn IDs im Abschnitt custom-fields-texts auf einer Unterebene verschachtelt sind, erkennt und konvertiert WPML sie unabhängig von der Übersetzungseinstellung des Feldes (Kopieren, Übersetzen usw.).

Beispiel für die Deklaration von IDs in verschachtelten benutzerdefinierten Feldern
<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>

Mit derselben Syntax für type und sub-type können Sie IDs in Admin-Texten deklarieren (Tabelle wp_options).

Übersetzungsoptionen für benutzerdefinierte Felder von Taxonomie-Begriffen festlegen

Um benutzerdefinierte Felder von Taxonomie-Begriffen zu übersetzen, müssen Sie den Feldnamen und die Aktion angeben, die WPML ausführen soll: translate, copy, copy-once, ignore.

Verschachteln Sie dieses Markup unter dem Tag wpml-config.

Sie können die folgenden Übersetzungsoptionen für benutzerdefinierte Begriffsfelder festlegen:

  • translate: ermöglicht es Ihrem Benutzer, den Wert des benutzerdefinierten Begriffs zu übersetzen. Diese Begriffe erscheinen auf dem Bildschirm Übersetzungs-Editor und können manuell oder automatisch übersetzt oder an andere Übersetzer gesendet werden.
  • copy: kopiert den Wert des benutzerdefinierten Begriffs der Standardsprache in die Sekundärsprachen. Das bedeutet, dass eine Aktualisierung des Wertes des benutzerdefinierten Begriffs in der Standardsprache immer in die Sekundärsprache kopiert wird. Die auf copy gesetzten benutzerdefinierten Begriffe werden auf dem Bildschirm Übersetzungs-Editor nicht angezeigt.
  • copy-once: kopiert beim anfänglichen Übersetzungsprozess den Wert des benutzerdefinierten Begriffs in die Sekundärsprache. Die benutzerdefinierten Begriffe, die die Aktion copy-once verwenden, erscheinen nicht auf dem Bildschirm Übersetzungs-Editor. Der Benutzer kann jedoch den Wert des benutzerdefinierten Begriffs der Sekundärsprache über den Bildschirm zur Beitragsbearbeitung so ändern, dass er sich von der Standardsprache unterscheidet.
  • ignore: verhindert, dass der benutzerdefinierte Begriff in die Sekundärsprache kopiert wird.
Beispiel für das Hinzufügen benutzerdefinierter Begriffe zur Sprachkonfigurationsdatei
<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>

In benutzerdefinierten Feldern von Taxonomie-Begriffen gespeicherte IDs automatisch konvertieren

Sie können dies nur tun, wenn das Feld auf Kopieren gesetzt ist (das heißt, wenn Sie <custom-term-field action="copy"> verwenden).

Genau wie bei benutzerdefinierten Feldern von Beiträgen können Sie Objekt-IDs deklarieren, die in benutzerdefinierten Taxonomie-Feldern enthalten sind. WPML konvertiert diese dann automatisch in ihre übersetzten Versionen.

Verwenden Sie im Abschnitt custom-term-fields Folgendes:

  • type, um anzugeben, auf welches Objekt verwiesen wird, z. B. post-ids oder taxonomy-ids
  • sub-type (optional), wenn Sie die spezifische Entität deklarieren möchten
Beispiel für die Deklaration von IDs in benutzerdefinierten Begriffsfeldern
<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>

Zusätzliche Ressourcen

Um mehr über die Datei wpml-config.xml zu erfahren, besuchen Sie den Leitfaden zu Sprachkonfigurationsdateien.

Zur Anpassung anderer Elemente mithilfe der Datei wpml-config.xml besuchen Sie unsere zusätzlichen Leitfäden:

Geschrieben von Amir · Zuletzt aktualisiert am 29. Januar 2026