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:
| Aktion | Beschreibung | Im ATE sichtbar? |
|---|---|---|
| Übersetzen | Aktiviert den Wert des benutzerdefinierten Feldes für die Übersetzung | Ja |
| Kopieren | Kopiert den Wert des benutzerdefinierten Feldes aus der Standardsprache in die Sekundärsprache und hält beide synchron | Nein |
| Einmal kopieren | Kopiert den Wert des benutzerdefinierten Feldes aus der Standardsprache in die Sekundärsprache, ohne beide synchron zu halten | Nein |
| Ignorieren | Verhindert das Kopieren des Wertes des benutzerdefinierten Feldes in die Sekundärsprache | Nein |
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:

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>Translate-Link-Attribut
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:
- Benutzerdefinierte Shortcodes mit WPML übersetzen
- Page-Builder-Inhalte für die Übersetzung registrieren
- Benutzerdefinierte Page-Builder-Widgets für die Übersetzung registrieren
- Benutzerdefinierte Begriffe, Typen & Taxonomien als übersetzbar registrieren
- Benutzerdefinierte Gutenberg-Blöcke übersetzbar machen
- Texte übersetzen, die Themes und Plugins in wp_options speichern
- WPML-Sprachumschalter mithilfe der WPML-Konfigurationsdatei anpassen