Menüs und Sprachumschalter
FG Multilang WP unterstützt zwei voneinander unabhängige Strategien für Navigationen: komplette Menüs können je Theme-Location und Sprache zugeordnet werden, und einzelne Menüeinträge können automatisch auf vorhandene Sprachversionen zeigen.
Menü-Mapping je Sprache
Section titled “Menü-Mapping je Sprache”Ist Menü-Mapping verwenden aktiviert, kann für jede registrierte Theme-Location und jede aktive Sprache ein WordPress-Menü ausgewählt werden.
Bleibt die Auswahl leer, verändert FG Multilang WP die normale Theme-Zuordnung für diese Kombination nicht.
Technisch greift die Funktion in wp_nav_menu_args ein und setzt das Argument menu nur dann, wenn eine gültige konfigurierte Menü-ID gefunden wird.
Menüeinträge automatisch übersetzen
Section titled “Menüeinträge automatisch übersetzen”Ist Menüeinträge automatisch übersetzen aktiviert, verarbeitet das Plugin die aus WordPress geladenen Menüobjekte.
Posts, Seiten und Custom Post Types
Section titled “Posts, Seiten und Custom Post Types”In Zusatzsprachen sucht das Plugin nach der verknüpften Sprachversion. Nur ein Zielpost mit Status publish wird eingesetzt.
Bei erfolgreicher Auflösung ersetzt FG Multilang WP:
object_id,- URL,
- sichtbaren Titel des Menüeintrags.
Taxonomie-Begriffe
Section titled “Taxonomie-Begriffe”Für Taxonomie-Menüeinträge wird eine verknüpfte Zielsprachversion des Begriffs gesucht. Bei Erfolg werden Objekt-ID, Term-Link und Name ersetzt.
Eigene Links
Section titled “Eigene Links”Interne Custom-Links werden mit derselben URL-Auflösung verarbeitet wie Links im Content. Externe Links bleiben unverändert.
Verhalten bei fehlender Übersetzung
Section titled “Verhalten bei fehlender Übersetzung”Die Einstellung fallback_mode besitzt zwei Werte.
Dies ist der Standard.
Fehlt bei einem Post- oder Taxonomie-Menüeintrag eine verwendbare Übersetzung, wird der Menüeintrag entfernt. Im Sprachumschalter werden auf Einzelinhalten ebenfalls Sprachen ohne öffentlich sichtbare Zielübersetzung ausgeblendet.
fallback
Section titled “fallback”Ein Menüeintrag ohne Zielübersetzung bleibt auf dem Originalziel bestehen.
Im Sprachumschalter führt eine Sprache ohne passende Einzelübersetzung auf die Startseite dieser Sprache.
Automatischer Sprachumschalter
Section titled “Automatischer Sprachumschalter”Standardmäßig ist die automatische Einfügung aktiviert.
Der Umschalter kann:
- in allen Menüs,
- oder nur in einer konkreten registrierten Theme-Location
ausgegeben werden.
Die Position ist start oder end; Standard ist end.
Manuelle Ausgabe per Shortcode
Section titled “Manuelle Ausgabe per Shortcode”Beide Shortcodes rufen dieselbe Ausgabe auf:
[fg_language_switcher][fgml_language_switcher]Beispiel mit Inline-Ausgabe und Sprachcodes:
[fg_language_switcher format="inline" label="code_upper"]Unterstützte Attribute:
| Attribut | Werte | Standard |
|---|---|---|
format |
list, inline, intern auch menu_items |
list |
label |
native, name, code_upper, code_lower |
globale Einstellung |
separator |
Text | globale Einstellung |
show_current |
boolesche Textwerte | globale Einstellung |
Bei show_current werden 0, false, no und nein als falsch interpretiert.
Manuelle Ausgabe per PHP
Section titled “Manuelle Ausgabe per PHP”Für Theme-Code steht die Helper-Funktion zur Verfügung:
<?php echo fgml_language_switcher(); ?>Mit Argumenten:
<?phpecho fgml_language_switcher([ 'format' => 'inline', 'label' => 'code_upper', 'separator' => ' / ', 'show_current' => true,]);?>Weitere PHP-Schnittstellen stehen unter Entwicklerschnittstellen.
Beschriftungen
Section titled “Beschriftungen”Vier Beschriftungsmodi sind implementiert:
native: nativer Name, beispielsweiseDeutschoderEnglish.name: administrativer Sprachname.code_upper: Sprachcode in Großbuchstaben, beispielsweiseDEoderEN.code_lower: Sprachcode in Kleinbuchstaben.
HTML-Struktur und CSS
Section titled “HTML-Struktur und CSS”Listenausgabe:
<ul class="fgml-language-switcher fgml-language-switcher--list"> <li class="fgml-language-item fgml-language-en">...</li></ul>Inline-Ausgabe verwendet unter anderem:
<span class="fgml-language-switcher fgml-language-switcher--inline">...</span>Aktive Einträge erhalten die Klasse .is-active und der Link aria-current="true".
Die globale CSS-Einstellung wird als <style id="fgml-switcher-custom-css"> im <head> ausgegeben. HTML-Tags im gespeicherten CSS werden entfernt.
Ziel-URLs des Sprachumschalters
Section titled “Ziel-URLs des Sprachumschalters”Auf einem Einzelinhalt verwendet der Umschalter den Permalink einer öffentlich sichtbaren verknüpften Sprachversion.
Existiert keine verwendbare Übersetzung:
- bei
hide: Sprache wird auf Einzelinhalten ausgeblendet, - bei
fallback: Sprach-Startseite wird verwendet.
Auf Nicht-Einzelansichten verwendet der Umschalter grundsätzlich die jeweilige Sprach-Startseite.
Grenzen
Section titled “Grenzen”- Die automatische Menüübersetzung ersetzt den Menü-Titel eines Post- oder Term-Eintrags mit dem Titel beziehungsweise Namen des Zielobjekts. Ein individuell am Menüeintrag gepflegter Titel bleibt in diesem Fall nicht erhalten.
- Die automatische Einfügung setzt eine
theme_locationvoraus, wenn eine konkrete Menü-Location konfiguriert wurde. - Das Plugin bringt kein Frontend-JavaScript für den Sprachumschalter mit.