WordPress Suche deaktivieren

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 15 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet.

Nicht immer ist die Suche von WordPress erwünscht. Die eine oder andere Anwendung mit WordPress benötigt die Funktion nicht, auch wenn sie sicher aus meiner Sicht einen Mehrwert darstellt. In einigen Anforderungen soll sie trotzdem nicht präsent sein und so habe ich sie mit Zugriff auf zwei Hooks deaktiviert. Vorerst kann ich keine andere Stelle erkennen, wo man auf sie zugreifen könnte und in meinen Anwendungen klappt es so problemlos.

Der zweite Aufruf des Hook get_search_form ist eigentlich nur, um die Suche aus dem Frontend zu nehmen, daher sollte man die beiden Hooks nur starten, wenn man nicht im Admin ist: if ( !is_admin() ) .

Setzt man die Variable $error auf true, dann wird auf die Fehlerseite des Themes weiter geleitet, wenn nicht, dann bleibt man auf der Seite, von der aus eventuell die Suche gestartet wurde.


function fb_filter_query( $query, $error = true ) {
	
	if ( is_search() ) {
		$query->is_search = false;
		$query->query_vars[s] = false;
		$query->query[s] = false;
		
		// to error
		if ( $error == true )
			$query->is_404 = true;
	}
}

add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

Ergänzungen, Kritik oder Verbesserungen – her damit. Das Kommentarfeld steht wie immer offen und die Lösung freut sich, wenn sie verfeinert wird.

Von Frank Bültge

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.