Como fazer / pesquisar / sem parâmetros não retornar um 404?

Eu tenho um arquivo search.php no meu tema que exibe os resultados da pesquisa.

As consultas de pesquisa direcionadas para https://example.com/search/query/ exibem os resultados da pesquisa corretamente. O WordPress aceita de forma nativa essa estrutura de URL.

Gostaria de poder navegar diretamente em https://example.com/search/ sem adicionar uma consulta de pesquisa e mandar exibir meu arquivo search.php, mas retorna um erro 404.

Como posso fazer esta página funcionar?

Solutions Collecting From Web of "Como fazer / pesquisar / sem parâmetros não retornar um 404?"

A regra de reescrita de pesquisa apenas captura a search/(.+)/?$ padrão search/(.+)/?$ . Um pedido para search/ corresponder a regra das páginas raiz, então o WordPress tenta encontrar uma página com essa linguagem. Você poderia criar uma página nesse local e carregar um modelo por meio de um filtro ou, você poderia adicionar uma regra de reescrita que apenas faz uma pesquisa vazia:

 function wpd_empty_search_fix(){ add_rewrite_rule( '^search/$', 'index.php?s=', 'top' ); } add_action( 'init', 'wpd_empty_search_fix' );