Suporte » Ajustando o WordPress » Ordenar resultados da busca por nome

  • Resolvido heijmeijer

    (@heijmeijer)


    Olá,

    Estou criando um tema para um site, porém estou com uma dúvida e não estou conseguindo solucionar. É o seguinte:

    Gostaria de mostrar o resultado da pesquisa por ordem alfabética, mas não estou conseguindo.

    Já inseri <?php query_posts( $query_string . ‘&orderby=title&order=asc’ ); ?> antes do have_posts() -como li em um outro post aqui- porém além dos resultados da busca, a página inicial também fica em ordem alfabética.

    Tentei também incluir na tag condicional if(is_search(‘&orderby=title&order=asc’). Testei outros modos também e nada.

    O que pretendo é deixar a página inicial mostrando apenas os recentes posts como já está, e filtrar por ordem alfabética apenas o resultado da pesquisa, seja ela por categoria ou pelo campo de busca.

    Como resolver?

    Aguardo.
    Felipe

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • tente isso:
    <?php if (if_search()) query_posts( $query_string . '&orderby=title&order=asc' ); ?>

    is_search() é uma função que retorna um booleano caso a página em questão seja uma pesquisa

    Só corrigindo um errinho de digitação no código sugerido:
    <?php if (is_search()) query_posts( $query_string . '&orderby=title&order=asc' ); ?>

    Criador do tópico heijmeijer

    (@heijmeijer)

    Testei aqui e funcionou corretamente apenas quando procuro por uma palavra na caixa de pesquisa, mas gostaria também de deixar os resultados quando pesquisado por uma determinada categoria em ordem alfabética e quando pesquisado por uma tag através da nuvens de tag.

    Utilizo as categorias em menu dropdown.

    Agradeço pela ajuda e aguardo!
    (:
    —————-Edit:——————

    Consegui resolver este problema a partir da sua sugestão acima.
    Agora defini em ordem alfabética a página de categorias, tags e busca, mas ficaram 3 códigos… Como juntar em apenas um ?!
    Ficou assim:

    <?php if (is_search()) query_posts( $query_string . '&orderby=title&order=asc' ); ?>
    <?php if (is_category()) query_posts( $query_string . '&orderby=title&order=asc' ); ?>
    <?php if (is_tag()) query_posts( $query_string . '&orderby=title&order=asc' ); ?>

    Agradeço,
    Felipe.

    <?php
    is (is_search() or is_tag() or is_category()) query_posts( $query_string . '&orderby=title&order=asc' ); ?>
    Criador do tópico heijmeijer

    (@heijmeijer)

    Obrigado.

    Problema solucionado! (:

    Criador do tópico heijmeijer

    (@heijmeijer)

    Surgiu mais uma dúvida aqui…

    Como faço para aumentar o número de posts mostrados apenas nas páginas de resultado de busca ? (seja ela por tag, campo de busca ou categoria)
    Devo colocar algum parâmetro a mais ?!

    Obrigado,
    Felipe.

    posts_per_page

    <?php
    is (is_search() or is_tag() or is_category()) query_posts( $query_string . ‘&orderby=title&order=asc&posts_per_page=X’ ); ?>

    http://codex.wordpress.org/Function_Reference/query_posts

    Criador do tópico heijmeijer

    (@heijmeijer)

    Valeu!

    Devo ter pulado essa linha quando estava olhando ai no codex!

    Todas as dúvidas resolvidas.

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • O tópico ‘Ordenar resultados da busca por nome’ está fechado para novas respostas.