X

Como redirecionar quando a pesquisa do WordPress retorna apenas uma correspondência

LinkedInPinCompartilhamentos0
Snippets por IsItWP

Você quer redirecionar sua pesquisa para o post se houver apenas um resultado de pesquisa? Este snippet melhora a experiência de pesquisa no site, eliminando a necessidade de um clique.

Instruções:

Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin específico do site:

add_action('template_redirect', 'single_result');
function single_result() {
    if (is_search()) {
        global $wp_query;
        if ($wp_query->post_count == 1) {
            wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
        }
    }
}

Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar / colar trechos de código corretamente no WordPress, para não quebrar acidentalmente seu site.

Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: Melhore a Experiência de Busca Padrão do WordPress – a Análise Completa do Search WP.

LinkedInPinCompartilhamentos0

Comentários   Deixe uma resposta

  1. Eu recebo um erro de sintaxe, inesperado ‘$wp_query’ (T_VARIABLE) quando copio e colo seu código no arquivo functions.php. Então, o que eu tenho é um tipo de post personalizado chamado carros com 4 taxonomias e eu fiz uma página de arquivo que usa o plugin grid e o plugin search and filter pro. Tudo funciona bem, mas eu quero ser redirecionado para a página do post em vez disso, se eu tiver apenas um resultado no arquivo. Você pode me dar algumas dicas? Obrigado!

  2. Obrigado!

  3. 12 ajustes pouco óbvios do WordPress para melhorar posts e páginas - WPMU DEV 27 de março de 2015 às 8:10

    […] realmente gostei deste – obrigado WP Snipp! Quando um usuário pesquisa em seu site e há apenas um resultado, o usuário é levado diretamente para o […]

  4. Tags Condicionais (e Snippets) do WordPress para Iniciantes 4 de março de 2015 às 23:52

    […] [Fonte] […]

  5. Bom código, mas eu faria uma melhoria… mude

    if ($wp_query->post_count == 1) para
    if ($wp_query->found_posts == 1)
    O código original quebra a paginação quando há apenas um post restante na próxima página e redireciona para ele em vez de mostrá-lo. Ex: Se um arquivo de post é configurado para mostrar 10 posts por página e 11 resultados são retornados, então em vez de mostrar o último post, ele redireciona para ele.

    1. isso está funcionando corretamente, obrigado!

      1. Que bom que ajudou 🙂

  6. 29 Ajustes no Wordpress para Melhorar Posts e Páginas 18 de outubro de 2011 às 9:03

    […] [Fonte: WPSNIPP] […]

  7. Sua amostra funcionou bem para mim, tudo parece estar funcionando.

    1. Ei, eu também agora. Desculpe. Obrigado.

      1. sem problema 🙂

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!