Dieses Snippet habe ich kürzlich gefunden und wollte es euch nicht vorenthalten. Vielleicht kann es ja jemand gebrauchen.
Die integrierte WordPress Suche ist eines der am seltensten benutzten Features. Das Search-Widget kann man deaktivieren und auch die WordPress-Theme Dateien vom entsprechenden Code befreien – dennoch ist die Suchfunktion aktiv und würde über einen Aufruf wie https://beispielseite.de/?s=irgendwas ein Ergebnis liefern.
Damit auch das nicht mehr geht, fügt ihr das folgende Snippet in die Datei functions.php eures aktiven Themes ein oder erstellt in dem Plugin Code Snippets ein selbiges:
function disable_search( $query, $error = true )
{
if ( is_search() )
{
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
if ( $error == true )
$query->is_404 = true;
}
}
add_action( 'parse_query', 'disable_search' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
Damit laufen jetzt alle die Suchanfragen über den URL direkt auf eine 404-Fehlerseite. Die Fehlerseite könnt ihr noch extra anpassen, um dem Suchenden (falls es kein Robot oder externer Dienst ist) eine Meldung darüber zu präsentieren.