Recentemente, um visitante no Fórum perguntou como obter resultados da procura em ordem alfabética. EIs a solução para isso:

O arquivo do tema search.php possui um loop, isso quer dizer que podemos modificá-lo para que os resultados da procura sejam ordenados de maneiras diferentes, excluam certa categorias etc.

No nosso exemplo, vamos organizar os resultados em ordem alfabética, ascendentes (A, B, C…). Abra o arquivo search.php e logo apóa a linha que contem have_posts, adicione o seguinte:

 'title', 'order'=>'ASC','posts_per_page' => 5, 'paged' => $paged ) ); ?>

Sobre o código e paginação

  • orderby: aceita vários tipos de ordenação como nenhum, ID, autor, título (o que estamos usando), data, data de última modificação, etc
  • order: só pode ser ASCendente (1, 2, 3… ou A, B, C…) ou DEScendente (3, 2, 1… ou …C, B, A).
  • post_per_page: quantas postagens mostrar por página.

Todos já devem ter passado um bom tempo tentando usar query_posts e manter a paginação ao mesmo tempo, o fato é que é preciso uma instrução extra para que a paginação não se perca e que muitas pessoas estavam usando o termo errado (page em vez de paged), segundo a documentação:

Nota sobre a paginação: Você deve definir get_query_var( 'page' ); se quer que a paginação funcione. Desde o  WordPress 3.0.2, as pessoas têm usado get_query_var( 'page' ) em vez de get_query_var( 'paged' ). O parâmetro de paginação paged para o query_posts() continua o mesmo.

Saiba mais sobre esta funação consultando o Codex.

Temas que refereciam um loop centralizado

Como é o caso do tema padrão. Este temas são adaptados para usarem temas-filhos, que são modificações que podemos fazer sem alterar o tema diretamente.

Neste caso, o mais sensato a fazer é criar um loop novo para usar o código acima, desde que estamos personalizando os resultados da procura, arquivamento etc por que querer manter o uso do loop centralizado?
Neste caso, podemos criar uma página de resultados de procura totalmente nova, com formatação apropriada, por exemplo, usar listas que só apresentam o título e a data da postagem, em lista numerada.

É isso! Espero que todos estejam aliviados de ter a paginação de volta com dica acima!