Zusätzliche Navigation für WordPress-Theme

wordpress-navi-1

WordPress bietet schon vom System her einen großen Funktionsumfang. Möchte man diese Funktionen auf der eigenen Webseite oder dem eigenen Blog nutzen, sind hierfür in einigen Fällen nicht nur die entsprechenden Einstellungen erforderlich, sondern ggf. auch kleine Anpassungen im eigenen Theme. Ein Beispiel hierfür ist eine zusätzliche Navigation.
Bei der Entwicklung meines neuen Themes wollte ich die Kategorien als neue Navigation oberhalb des Inhaltes (Content-Bereich) horizontal anzeigen lassen. Dieses war in meiner Theme-Vorlage nicht vorgesehen, so dass ich hier selbst eine neues Menü anlegen und entsprechend das Theme erweitern musste.

Hierfür eine kurze Anleitung:

1. functions.php – Menüposition anlegen
Im ersten Schritt muss WordPress die Info bekommen, dass überhaupt an einer weiteren Stelle ein Menü angezeigt werden soll. Dieses geschieht in der Datei functions.php.

// This theme uses wp_nav_menu().
register_nav_menus( array(
	'primary' => __( 'Primary Navigation', 'baylys' ),
	'second' => __('Second Navigation', 'baylys'),
	'optional' => __( 'Footer Navigation (no sub menus supported)', 'baylys' )
) );

Hier wurde mit register_nav_menus ein neues Menü ’second‘ in meinem baylys Theme eingefügt.

2. Anlegen des neuen Menüs im WordPress-Adminbereich
Im Adminbereich von WordPress wird unter Design-Menüs-Menüs bearbeiten ein neues Menü angelegt und gespeichert. Anschließend geht man auf das zweite Registerblatt Positionen verwalten. Dort gibt es bereits die soeben angelegte neue Menüposition und man kann dieser das neue Menü zuordnen.

3. Ergänzungen im Child-Theme
Das zusätzliche Menü oberhalb vom Inhalt war bisher im Theme nicht vorgesehen. Darum muss dieses entsprechend in den Template-Dateien, in diesem Fall in der header.php ergänzt werden:

<?php if (!is_front_page() ) : ?>
  <div id="mycategories">
    <?php
       wp_nav_menu(array('theme_location' => 'second','menu_class' => 'nav'));
    ?>	
  </div>		
<?php endif; ?>

Zusätzlich wurde hier noch Code if (!is_front_page() ) : ergänzt, damit das Menü nicht auf der Startseite angezeigt wird und ein div class=“mycategories“ für die Anpassungen per CSS.

Diese Anleitung ist eine Zusammenfassung der wesentlichen Punkte. Das neue Menü muss anschließend noch per CSS an die Seite angepasst werden.

Schreibe einen Kommentar

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