kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

Prüfen, ob ein WordPress-Navigationsbereich (wp_nav_menu) ein Menü enthält

In WordPress können über die Funktion wp_nav_menu Navigationsbereiche registriert und im Template platziert werden. Im Administrationsbereich hat der Administrator anschließend die Möglichkeit die Navigationsbereiche mit Menüs zu bestücken.
Je nach Theme sollte geprüft werden, ob ein Bereich auch eine Navigation enthält. Beispielsweise weil die Navigation auf dem Smartphone hinter einem Button versteckt wird und dieser Button natürlich keinen Sinn macht, wenn gar keine Links vorhanden sind.

Workshops und Seminare von kulturbanause

Unsere Seminar-Termine für 2018 sind online!

Jetzt Tickets sichern!

WordPress-Navigationsbereich registrieren

Zunächst muss der Navigationsbereich über die functions.php registriert werden. Der Code dazu sieht z. B. wie folgt aus. Hier wird ein Bereich mit dem Bezeichner nav-header registriert. Im Backend wird der Name Header angezeigt.


function kb_register_menus() {
  register_nav_menus(
    array(
      'nav-header' => __( 'Header' ),
    )
  );
}

add_action( 'init', 'kb_register_menus' );
WordPress-Backend mit den zwei Navigationsbereichen Header und Footer
WordPress-Backend mit den zwei Navigationsbereichen Header und Footer

Prüfen, ob dem Bereich ein Menü zugewiesen wurde – has_nav_menu

Um zu prüfen ob der Navigationsbereich ein Menü enthält, nutzen wir die Funktion has_nav_menu. Der Aufbau ist simpel – wenn dem Bereich nav-header ein Menü zugewiesen wurde, wird ein entsprechender Text angezeigt.


<?php 
	if (has_nav_menu('nav-header')) { 
	echo 'Menü wurde zugewiesen'; } 
?>

In der Praxis wird folgender Aufbau wohl noch etwas häufiger zur Anwendung kommen. Hier wird zusätzlich das Menü selbst angezeigt.


<?php  
	$theme_location = 'nav-header'; // Bezeichner des Menübereichs
	if (has_nav_menu($theme_location)) { // Prüfen ob ein Menü zugewiesen wurde
		// Menü ausgeben
		wp_nav_menu( array( 
			'theme_location' => $theme_location, 
			'container' => '' 
		));
		echo 'Menü wurde zugewiesen'; // Beliebigen weiteren Inhalt ausgeben
	}
?>

Links / Quellen

Generate WP Nav Menu
Online-Generator zum Erzeugen von WordPress-Funktionen, u.a. von Menüs
Function Reference/wp nav menu
Detaillierte Beschreibung der wp_nav_menu-Funktion im WordPress-Codex

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Unterstützung bei WordPress-Projekten

Unsere WordPress Agentur ist auf die Entwicklung maßgeschneiderter WordPress-Themes und -Websites spezialisiert. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung eines Projekts benötigst, helfen wir gerne weiter.
WordPress-Leistungsangebot →

Das könnte dich auch interessieren

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.