Suche in WordPress Nav Menu

Das WordPress Nav Menu und die Integration des Suchfeld bedarf nur weniger Zeilen Code und etwas Anpassung via Stylesheet, eine Lösung möchte ich hier vorstellen.

Seit der Einführung des WP Nav Menu, lieben Kunden die Funktion um ihre Navigationen selbst mit Inhalten zu versorgen und Anpassungen recht einfach vorzunehmen. Dabei steht auch das Suchfeld ab und an auf der Wunschliste. In diesem Zusammenhang sind mir bei einigen Reviews von WordPress Installation die unmöglichsten Lösungen untergekommen, die eher Sorgen als Freude bereiten.

Daher hier ein einfache und doch sinnvolle Lösung, um das Suchformular in die Navigation zu holen.
Dabei wird die Standard-Funktion von WordPress für die Suche genutzt - get_search_form(). Sollte dies also auch anderweitig genutzt werden, so gilt auf das Stylesheet zu achten. Ansonsten genügt das folgende Snippet und das Suchformular ist in der Navigation.

Suche im  WordPress Nav Menu

Die Funktion und der Aufruf gehört in die functions.php des Themes und die Anpassung des Stylesheet in die jeweilige Datei des Themes, oft die style.css.


function fb_add_search_box ( $items, $args ) {
	
	// only on primary menu
	if( 'primary' === $args -> theme_location )
		$items .= '<li class="menu-item menu-item-search">' . get_search_form( FALSE ) . '</li>';
	
	return $items;
}
add_filter( 'wp_nav_menu_items', 'fb_add_search_box', 10, 2 );

Möchte man das Suchformular nur in einer bestimmen Navigation einfügen; insofern man diverse Nav Menus zulässt, dann genügt die Abfrage des Eintrags theme_location aus dem Argumenten-Array. Wenn es sich um das Menu handelt mit dem String n, dann ... - ein Beispiel:
if( 'primary' === $args -> theme_location )

Suche im  WordPress Nav Menu

Der Schlüssel für die Abfrage ist im Theme definiert, daher auch gut im Backend zu erkennen, wie der obige Screenshot darstellt. Viel Spaß beim Nutzen und Anpassen.

Comments are closed.