Zum Inhalt

[WP] Eigenes Footer-Menü (mehrsprachig für WPML)

In einem Theme, welches ich aktuelle viel benutze gibt es leider keine Möglichkeit für ein Footer-Menü, Einträge wie Impressum, Kontakt oder AGB müssen statisch in ein Feld geschrieben werden. Nun ist das Problem, dass dieses Feld nicht übersetzt wird, wenn die Sprache der Seite geändert wird. Abhilfe kann dabei ein eigenes Footer-Menü schaffen. Zum einen kann man dadurch mehrere Sprachen ansprechen und zum Anderen ist es für den Kunden praktischer, da er selbst das Footer-Menü mit eigenen Punkten bestücken kann. Da ich für unterschiedliche Sprachen WPML nutze, sollte dieses auch verwendet werden.

1. Schritt

Dort wo das Fooder-Menü auftauchen soll, einfach folgenden Code hinterlegen. Dieser Code spricht die unterschiedlichen Menüs bei der Sprachauswahl an:

<?php
if ( ICL_LANGUAGE_CODE=='de' ) {  wp_nav_menu( array( 'theme_location' => 'footer-de', 'container_class' => 'footerde' ) ); }
elseif ( ICL_LANGUAGE_CODE=='en' ) { wp_nav_menu( array( 'theme_location' => 'footer-en', 'container_class' => 'footerde' ) ); }
?>

Und in die header.php fügen wir die Abfrage der Sprache ein:

<script>
var getLangCode = '<?php echo apply_filters( 'wpml_current_language', NULL ); ?>';
</script>

2. Schritt

Für das Styling folgenden Code in die CSS Datei einfügen:

ul#menu-footerde {
   list-style: none;
}

ul#menu-footerde li {
   float: left;
    margin-left: 20px;
}

ul#menu-footerde {
   margin: 0px;
    list-style: none;
}

3. Schritt

Am Ende muss in der functions.php noch folgender Code eingefügt werden:

function register_my_menu() {
  register_nav_menu('footer-de',__( 'FooterDE' ));
  register_nav_menu('footer-en',__( 'FooterEN' ));

}
add_action( 'init', 'register_my_menu' );

4. Schritt

Jetzt unter Design->Menüs noch die Menüs „FooterDE“ und „FooterEN“ anlegen, alle gewünschten Seiten hinzufügen und unten das Menü noch zuordnen. Speichern und fertig.

Veröffentlicht inWordpress

Schreibe den ersten Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

5 × 4 =