Mudar a apresentação de resultados de busca com um SELECT

1 view
Skip to first unread message

Marco Andrei Kichalowsky

unread,
Jan 26, 2026, 10:12:19 AM (4 days ago) Jan 26
to WordPress Brasil Lista
Pessoal,

Estou trabalhando em uma página de resultados de busca usando uma consulta qualquer. Esta consulta apresenta os resultados em uma ordem X, mas eu gostaria de ter um SELECT em que o usuário escolhesse uma ordem Y e a página recarregasse com a ordem desejada.

Por exemplo: os resultados vem em ordem de data e eu queria mudar para ordem alfabética?

Alguém já fez este tipo de coisa?

Obrigado!
Marco Andrei

Leonildo Junior

unread,
Jan 26, 2026, 10:28:15 AM (4 days ago) Jan 26
to wordpres...@googlegroups.com
Fala Marco, tudo bem? Cara, eu vejo ai duas formas de resolver a depender da sua necessidade.

Via front
Com alguma lib de mercado como List.js ou DataTables

Via back
1 - Cria o form com os campos Tipo (autor, data, titulo) e Ordem (crescente, decrescente)
2 - No submit do form você passa os valores escolhidos com algo como: posts?sortBy=titulo&order=desc
3 - Na página recupera esses dados e refaz a busca com os dados dinamicos

```
// 1. Pegar os valores da URL (limpando para segurança)
$order_by = isset($_GET['orderby']) ? sanitize_text_field($_GET['orderby']) : 'date'
$order = isset($_GET['order']) ? sanitize_text_field($_GET['order']) : 'DESC';

// 2. Mapear nomes da URL para campos do WordPress 
$map_fields = [ 'titulo' => 'title', 'autor' => 'author', 'data' => 'date' ];
$args = array( 'post_type' => 'post', 'posts_per_page' => 10, 'orderby' => $map_fields[$order_by] ?? 'date', 'order' => strtoupper($order) === 'ASC' ? 'ASC' : 'DESC', ); 
$query = new WP_Query($args);


Tradeoff
- No front você vai precisar trazer todos os resultados sempre, a depender do tamanho do projeto pode ser ruim ou até inviavel
- No back sempre tem que refazer a consulta, mas imagino que os campos da ordenação sejam poucos, então da para cachear

Poucos dados (< 500 itens) - front
Muitos dados / Big Data - back
Com paginação - backl



--
Regras do Grupo: http://bit.ly/1lOeYqs
 
Projeto WordPress: http://br.wordpress.org/
Temas: http://wordpress.org/extend/themes/
Plugins: http://wordpress.org/extend/plugins/
Grupo no Facebook: http://www.facebook.com/groups/wordpress.brasil/
---
You received this message because you are subscribed to the Google Groups "WordPress Brasil Lista" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wordpress-bras...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/wordpress-brasil/1f03a439-2c28-45d8-bb11-656a4d68eee1n%40googlegroups.com.


--
Amplexos,

Leo Baiano
Web Developer

Marco Andrei Kichalowsky

unread,
Jan 26, 2026, 4:50:46 PM (4 days ago) Jan 26
to wordpress-brasil
Grande Leo! Saudade do amigo!

Penso em fazer pelo back-end então, é a minha preferência. Não são tantos registros e não faz muita diferença pro usuário deste website.

Vou experimentar tuas dicas e retorno no grupo.

Abração e obrigado!
Marco Andrei

--
Marco Andrei Kichalowsky, diretor de operações e novos negócios






--
Regras do Grupo: http://bit.ly/1lOeYqs
 
Projeto WordPress: http://br.wordpress.org/
---
You received this message because you are subscribed to the Google Groups "WordPress Brasil Lista" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wordpress-bras...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages