Navigation überspringen

Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.

Problem:
Sie benötigen Unterstützung beim Umbau eines Twig Language Switchers in ein PHP Widget.
Solution:
1. Wenn Sie bereits mit einem PHP-Code begonnen haben und an einer bestimmten Stelle nicht weiterkommen, empfehlen wir, die Person zu kontaktieren, die das Theme entwickelt hat, da sie die Struktur Ihrer Website am besten kennt.
2. Zur Implementierung eines benutzerdefinierten Sprachumschalters mit WPML, können Sie die Ausgabe über WPML → Sprachen steuern. Weitere Informationen finden Sie hier: https://wpml.org/documentation/getting-started-guide/language-setup/language-switcher-options/#add-language-switcher-menu
3. Ein Beispiel für die Integration via PHP finden Sie hier: https://wpml.org/documentation/getting-started-guide/language-setup/language-switcher-options/custom-language-switcher/
4. Alternativ können Sie auch einen Shortcode oder eine PHP-Action verwenden. Ein Beispiel dafür finden Sie hier: https://wpml.org/documentation/getting-started-guide/language-setup/language-switcher-options/adding-language-switchers-using-php-and-shortcodes/
5. Sie können die vorhandenen CSS-Klassen übernehmen, um das Styling konsistent zu halten.

Falls diese Lösung für Sie nicht relevant ist, weil sie veraltet ist oder nicht auf Ihren Fall zutrifft, empfehlen wir Ihnen, ein neues Support-Ticket zu eröffnen. Wir empfehlen auch, die Seite mit bekannten Problemen (https://wpml.org/known-issues/) zu überprüfen, die Version der dauerhaften Lösung zu verifizieren und zu bestätigen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben.

Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.

Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.

Dieses Thema enthält 1 Antwort, hat 0 Stimmen.

Zuletzt aktualisiert von Marcel Vor 1 Monat, 4 Wochen.

Assistiert von: Marcel.

Autor Beiträge
Mai 13, 2025 um 9:57 pm #17029805

christianG-37

Hintergrund des Themas:
Ich setze Twig für unseren Language switcher ein und muss das nun ersetzen. Im Twig Template wird die Sprache dynamisch ausgegeben. Ich benötige Unterstützung, um das in ein PHP Widget umzubauen. Der Twig Code sieht so aus: {% set current_language = languages[ current_language_code ] %} {% set css_classes_flag = ('wpml-ls-flag ' ~ backward_compatibility.css_classes_flag)|trim %} {% set css_classes_native = ('wpml-ls-native ' ~ backward_compatibility.css_classes_native)|trim %} {% set css_classes_display = ('wpml-ls-display ' ~ backward_compatibility.css_classes_display)|trim %} {% set css_classes_bracket = ('wpml-ls-bracket ' ~ backward_compatibility.css_classes_bracket)|trim %} <div class="topBarInLogoArea" > <div class="wpml-customSwitcher-dropdown-click"{% if backward_compatibility.css_id %} id="{{ backward_compatibility.css_id }}"{% endif %}> <div class="topBarInLogoAreaCell"> <span class ="btIconWidget "> <span class="btIconWidgetIcon"> <span class="btIco btIcoDefaultType btIcoDefaultColor"> <span data-ico-s7="" class="btIcoHolder"></span> </span> </span> <span class="btIconWidgetContent"> {%- if current_language_code == 'de' -%} <span class="btIconWidgetTitle">Spracheg</span> {%- else -%} <span class="btIconWidgetTitle">Language</span> {%- endif -%} <ul class="wpml-customSwitcher-dropdown-click-ul"> <li class="wpml-customSwitcher-item-dropdown-click-li"> {%- if current_language.flag_url -%} {{ current_language_code }} {%- endif -%} {%- if current_language.display_name or current_language.native_name -%} {%- set current_language_name = current_language.display_name|default(current_language.native_name) -%} {{- current_language_name -}} {%- endif -%} <ul class="wpml-customSwitcher-sub-menu"> {% for language in languages if not language.is_current %} <li class="{{ language.css_classes }}"> {%- if language.flag_url -%} {{ language.code }} {%- endif -%} {%- if language.flag_title -%} {{ language.flag_title }} {%- endif -%} {% endfor %} </span> </span> </div> </div> </div>

Die Symptome:
Ich benötige Unterstützung, um den Twig Language switcher in ein PHP Widget umzubauen.

Fragen:
Wie kann ich den Twig Language switcher in ein PHP Widget umwandeln?

Mai 14, 2025 um 2:24 pm #17032904

Marcel
Unterstützer

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+02:00)

Hallo Christian,

Haben Sie bereits mit einem PHP-Code begonnen? Bzw. an welcher Stelle genau kommen Sie nicht weiter? Am besten wäre es, zunächst die Person zu kontaktieren, die das Theme für Sie entwickelt hat – sie kennt die Struktur Ihrer Website vermutlich am besten. Oder haben Sie das Theme selbst entwickelt?

Bitte beachten Sie: Wir unterstützen Sie gerne mit konkreten Hinweisen, falls Sie bei einem bestimmten Schritt nicht weiterkommen. Ein kompletter Umbau des Codes ist uns jedoch leider nicht möglich – insbesondere, wenn es sich um einen komplexen Sprachumschalter mit individuellen Anpassungen handelt.

Zur Umsetzung eines benutzerdefinierten Sprachumschalters mit WPML:

1) Die Ausgabe eines eigenen Switchers kann über WPML → Sprachen erfolgen. Weitere Infos dazu finden Sie hier:
https://wpml.org/documentation/getting-started-guide/language-setup/language-switcher-options/#add-language-switcher-menu
In diesem Fall muss der Code z. B. direkt in die header.php eingefügt werden.

2) Eine Beispielintegration via PHP finden Sie hier:
https://wpml.org/documentation/getting-started-guide/language-setup/language-switcher-options/custom-language-switcher/

3) In Ihrem Fall können Sie die vorhandenen CSS-Klassen weitgehend übernehmen, um das Styling konsistent zu halten.

4) Alternativ wäre auch eine Einbindung über einen Shortcode oder eine PHP-Action möglich. Ein Beispiel dafür finden Sie hier:
https://wpml.org/documentation/getting-started-guide/language-setup/language-switcher-options/adding-language-switchers-using-php-and-shortcodes/

Viele Grüße
Marcel