• Resolvido heijmeijer

    (@heijmeijer)


    Título original: Ordenar resultados de busca

    Boa Tarde,

    Gostaria de saber como faço para ordenar os resultados da busca em ordem alfabética e remover as páginas dos resultados.

    Já procurei e não encontrei uma solução eficiente.

    Aguardo,

    Obrigado desde já. 😀
    Felipe.

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • Olá,

    Há vários plugins que melhoram a exibição dos resultados da procura.
    Um plugin simples:
    http://www.devshed.com/c/a/PHP/Customizing-WordPress-Search-Results-to-Sort-by-Title/3/

    E sobre alguns plugins avançados:
    http://yoast.com/wordpress-search/

    Vê como funciona, tentei usar query_posts mas isso sobrescreve o item da procura, ou seja, ignora os termos pesquisados.

    Só copiar esta função para o function do seu tema.

    function search_filter_ordem($query){
    	if ($query->is_search){
    		$query->set('posts_per_page', '-1');
    		$query->set('orderby', 'title');
    		$query->set('order', 'ASC');
    	}
    	return $query;
    }
    add_filter('pre_get_posts','search_filter_ordem');

    Só não recomendo remover a paginação porque se uma busca obter muitos resultados irá mostrar muitos posts nesta página.

    Se decidir colocar a paginação novamente basta apagar $query->set('posts_per_page', '-1');

    E não se preocupe com a paginação, esta função manter a paginação funcionando corretamente.

    Criador do tópico heijmeijer

    (@heijmeijer)

    Esse código adicionado no functions.php funcionou perfeitamente.
    Agora existe uma $query que eu possa adicionar para remover as páginas dos resultados da busca?

    Obrigado (:

    Criador do tópico heijmeijer

    (@heijmeijer)

    Problema solucionado por completo!

    Para remover as páginas do resultado de busca é só adicionar a $query abaixo:

    $query->set('post_type', 'post');

    O código inteiro a ser adicionado no functions.php fica assim:

    function search_filter_ordem($query){
    	if ($query->is_search){
    		$query->set('posts_per_page', '-1');
    		$query->set('orderby', 'title');
    		$query->set('order', 'ASC');
    		$query->set('post_type', 'post');
    	}
    	return $query;
    }
    add_filter('pre_get_posts','search_filter_ordem');

    Ótima dica Myst1010!

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • O tópico ‘Como ordenar resultados da pesquisa alfabéticamente e remover páginas?’ está fechado para novas respostas.