WordPress Theme-Locations anlegen und abrufen

strich

Dieser Artikel beschreibt, wie man für Menüs in WordPress eigene Theme-Locations (Anordnung im Theme) anlegen und aufrufen kann.

Menü-Locations registrieren

Zuerst müssen die einzelnen Menü-Locations in der functions.php Deines Themes registriert werden. Dies erfolgt mithilfe der beiden Funktionen register_nav_menu() oder register_nav_menus(), falls Du mehrere Locations anlegen willst. Wir benutzen hier in unserem Beispiel die zweite Variante.

Menu LocationFüge also folgenden Code in die functions.php Deines Themes ein:

register_nav_menus( array(
'hauptmenu' => __( 'Hauptmenü' ),
'kopfmenu' => __( 'Kopfmenü' ),
'fussmenu' => __( 'Fußmenü' ),
) );

Nach dem Neuladen der Menüs (Design -> Menüs) sollte der Kasten “Theme Locations” (Anordnung im Theme) so aussehen, wie im Screenshot rechts.

Menü zuordnen

Nun kannst Du jedem Deiner angelegten Orte ganz einfach per Pulldown ein beliebiges Menu zuordnen. Das Menü musst Du natürlich vorher anlegen. Ich erwähne das nur der Vollständigkeit wegen, ich weiß, daß Du das auch schon selber wusstest.

Menü-Location aufrufen

Das Menü wird jetzt ganz einfach mit der Funktion wp_nav_menu() aufgerufen, beispielsweise aus der header.php. Füge also für das Hauptmenü folgenden Code an der gewünschten Stelle in Deinem Theme ein:
wp_nav_menu( array( 'theme_location' => 'hauptmenu' ) );

Folgende Parameter kannst Du beim Aufruf optional mit übergeben:

  • theme_location: wie gerade besprochen, welche Theme-Location soll aufgerufen werden, Standard none
  • menu: rufe direkt eine Menü-ID, Slug oder Namen auf, Standard none
  • container: das Manteltag für die Liste, Standard div, erlaubt nav
  • container_class: gib dem Manteltag eine CSS- Klasse mit, Standard menu-{menu slug}-container
  • container_id: gib dem Manteltag eine CSS- ID mit, Standard keine
  • menu_class: gib dem ul Element eine CSS- Klasse mit, Standard menu
  • menu_id: gib dem ul Element eine CSS- ID mit, Standard menu-{menu slug}, falls es zu Dopplungen kommt, werden die IDs durchnummeriert menu-{menu slug}-1, menu-{menu slug}-2, …
  • echo: Ausgabe oder nur Rückgabe des Quellcodes, Standard true (Ausgabe)
  • fallback_cb: welche Funktion wird aufgerufen, falls das Menü nicht existiert, gibt die Parameter weiter, auf false setzen für kein fallback, Standard wp_page_menu
  • before: Text, der vor dem a-Element eines Links ausgegeben wird, Standard none
  • after: Text, der nach dem a-Element eines Links ausgegeben wird, Standard none
  • link_before: Text, der innerhalb des a-Elementes vor dem Linktext ausgegeben wird, Standard none
  • link_after: Text, der innerhalb des a-Elementes nach dem Linktext ausgegeben wird, Standard none
  • depth: bis zu welcher Ebene wird das Menü ausgegeben, Standard 0 (alle), -1 gibt alle Links in einer Liste ohne Ebenen aus

Fertig ist die Navigations-Laube!

Website hundertprozent CO2 neutral mit Host Europestrich
strich



Hinterlasse eine Antwort

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

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Login
LETZTE KOMMENTARE