Erfahren Sie, wie Sie Shortcodes aus Plugins, Themes und solche, die Sie selbst entwickeln, mit WPML übersetzen.
Mit WPML können Sie sowohl textbasierte als auch ID-basierte Shortcodes übersetzen. Textbasierte Shortcodes geben Text aus, wie dieser hier:
[goodmorning name="Dear client"]
Andererseits geben ID-basierte Shortcodes ein Element anhand seiner ID-Nummer aus:
[myslider id="1"] [myslider id="2"]
Hier gibt jeder Shortcode einen anderen Slider aus. Zum Beispiel könnte einer einen Slider auf Englisch und der andere einen auf Spanisch ausgeben.
Um den Shortcode zu übersetzen, würden Sie die ID eines Sliders durch die des anderen ersetzen (z. B. 1 → 2).
Shortcodes aus kompatiblen Plugins und Themes übersetzen
Um Shortcodes aus kompatiblen Plugins und Themes zu übersetzen, gehen Sie zu WPML → Übersetzungs-Dashboard und senden Sie die Seite, die Ihren Shortcode enthält, zur Übersetzung. Ihr Shortcode wird im Erweiterten Übersetzungs-Editor zwischen den restlichen Inhalten Ihrer Seite angezeigt.
So sieht beispielsweise der folgende Shortcode im Editor aus:
[goodmorning name="Dear client"]

Wenn Ihr Shortcode ein Link-Attribut (URL) enthält, verwenden Sie die Suchleiste, um es zu finden. WPML blendet Links in Shortcodes standardmäßig aus.

Shortcodes aus nicht kompatiblen Plugins und Themes übersetzen
Um Shortcodes aus nicht kompatiblen Plugins und Themes zu übersetzen, müssen Sie diese zuerst in der Datei Benutzerdefinierte XML-Konfiguration von WPML registrieren.
Betrachten Sie dieses Beispiel mit zwei Shortcodes:
[fanpage link="https://example.com"]Some content[/fanpage] [goodmorning name="dear client" type="official"]
Um diese Shortcodes in WPML zu registrieren, verwenden wir den folgenden Konfigurationscode:
<wpml-config>
<shortcodes>
<shortcode>
<tag>goodmorning</tag>
<attributes>
<attribute>name</attribute>
<attribute>type</attribute>
</attributes>
</shortcode>
<shortcode>
<tag label="Fanpage shortcode">fanpage</tag>
<attributes>
<attribute>link</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>
So funktioniert die Konfiguration in WPML:
- Platzieren Sie alle Shortcodes innerhalb von <shortcodes>
- Umschließen Sie die individuellen Shortcode-Einstellungen mit <shortcode>
- Definieren Sie Shortcode-Namen mit <tag> und fügen Sie bei Bedarf benutzerdefinierte Labels hinzu. Diese Labels werden neben dem Text im Erweiterten Übersetzungs-Editor angezeigt.
- Definieren Sie jeden Attribut-Titel mit <attribute>
- Umschließen Sie alle Attribute mit <attributes>
Sobald Sie Ihre Shortcodes registriert haben, können Sie sie zusammen mit den restlichen Seiteninhalten über WPML → Übersetzungs-Dashboard übersetzen.
Benutzerdefinierte Shortcodes übersetzen
Um benutzerdefinierte Shortcodes zu übersetzen, die Sie selbst entwickeln, müssen Sie diese zuerst in WPML registrieren. Sobald dies erledigt ist, können Sie sie zusammen mit den restlichen Seiteninhalten übersetzen.
Hartcodierte Texte innerhalb von Shortcodes übersetzen
Standardmäßig sind hartcodierte Texte in WPML nicht übersetzbar. Um sie übersetzbar zu machen, können Sie das Gettext-Framework verwenden. Betrachten Sie dieses Beispiel mit „Good morning“ als hartcodiertem Text:
function goodmorning_att($atts) {
$default = array(
'name' => 'there',
);
$a = shortcode_atts($default, $atts);
return 'Good morning, '.$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');
Um „Good morning“ übersetzbar zu machen, können Sie den Code so anpassen, dass Gettext verwendet wird:
function goodmorning_att($atts) {
$default = array(
'name' => 'there',
);
$a = shortcode_atts($default, $atts);
return __('Good morning, ', 'default').$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');
Dadurch wird der Text „Good morning“ übersetzbar gemacht und in die String-Übersetzung übernommen.
Zusätzliche Ressourcen
Um mehr über die Datei wpml-config.xml zu erfahren, besuchen Sie den Leitfaden Sprachkonfigurationsdateien. Informationen zur Konfiguration anderer Elemente in WPML finden Sie in unseren weiteren Leitfäden:
- Page-Builder-Inhalte für die Übersetzung registrieren
- Benutzerdefinierte Page-Builder-Widgets für die Übersetzung registrieren
- Übersetzungsoptionen für benutzerdefinierte Felder mithilfe der WPML-Konfigurationsdatei festlegen
- Benutzerdefinierte Begriffe, Types & 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