Às vezes, ao pesquisar em um blog WordPress, você obtém apenas um item no resultado. Dependendo de quão organizado seu site está, este deve ser o item que o usuário estava procurando de qualquer maneira. Um de nossos usuários perguntou se havia uma maneira de redirecionar para a postagem se a consulta de pesquisa resultasse em apenas uma correspondência. Neste artigo, mostraremos como redirecionar os usuários para a postagem quando a consulta de pesquisa retornar apenas uma correspondência.
Tudo o que você precisa fazer é abrir o arquivo functions.php do seu tema e colar o seguinte trecho.
add_action('template_redirect', 'one_match_redirect');
function one_match_redirect() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
}
}
}
Agora você deve estar ciente de que alguns usuários não esperam essa funcionalidade. Portanto, isso pode assustá-los.


Casey Lessard
Funcionou para mim. Eu gerencio um motor de busca local usando WordPress e tenho tentado encontrar essa solução por algum tempo. Faz exatamente o que é descrito. Muito obrigado!
Eric
Eu quero fazer com que, quando alguém pesquisar uma frase específica, ela redirecione para um easter egg, como se alguém pesquisasse "Eu vejo gente morta" especificamente, redirecionará para um URL que eu possa definir.
Nebulas Website Design
Obrigado por este trecho de código, deixou meu cliente muito feliz e eu não achava que fosse possível. No entanto, não está funcionando para nós, estamos usando o plugin de busca Relevanssi, deveria funcionar com isso?
carlos
E se eu quiser redirecionar qualquer consulta de pesquisa para a postagem mais relevante, independentemente do número de postagens que a pesquisa retorna? Eu realmente gostaria de poder fazer isso.
Equipe Editorial
Remova a condicional 'if' do código acima, e deve funcionar.
Admin
CalebZahnd
Isso é útil. Obrigado!