function search_filter($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_search) {
global $wp_query;
// здесь добавить проверку на пустой аргумент поиска.
// сейчас не вспомню как он точно выводится, где-то в $query должен быть
$wp_query->set_404();
status_header(404);
}
}
}
add_action('pre_get_posts','search_filter');