Themes mit Menüs ausstatten

4. März 2018 Keller-H 0 Kommentare

Um Menüs in eigenen Themes zu verwenden, müssen zunächst in der functions.php Menüpositionen definiert werden. Dies geschieht mit Hilfe der Funktion register_nav_menus. Der folgende Code definiert zwei Menüs.

function my_theme_register_menus() {
   register_nav_menus(
      array( 'top-menu' => 'Top-Menu',
             'side-menu' => 'Sidebar-Menu'
      )
  );
};
add_action ('init', 'my_theme_register_menus');

ImBackend ist jetzt unter Design der Punkt Menüs sichtbar.

Hier können nun die eigentlichen Menüs erstellt und unter Position im Theme den oben definierten Positionen „Top-Menu“ und „Sidebar-Menu“ zugeordnet werden.

 

Im passenden Template, z.B. dem Script header.php, kann nun das Menü mit der Funktion wp_nav_menu eingebunden werden. Der folgende Code zeigt, falls die Position top-menu ein Menü enthält, dieses im Theme an und versieht es mit einer CSS-Klasse.

<?php
if ( has_nav_menu( 'top-menu' ) ) : 
   wp_nav_menu( 
      array( 'theme_location'  => 'top-menu',
             'container_class' => 'top-menu-class'
   ) )  ;
endif; 
?>