WPML

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"]
Einen textbasierten Shortcode im Erweiterten Übersetzungs-Editor übersetzen
Einen textbasierten Shortcode im Erweiterten Übersetzungs-Editor übersetzen

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.

Shortcode-Link-Attribute im Erweiterten Übersetzungs-Editor übersetzen
Shortcode-Link-Attribute im Erweiterten Übersetzungs-Editor übersetzen

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:

Geschrieben von Amir · Zuletzt aktualisiert am 23. Juli 2025