Resultados gerais de busca - tainacan_the_faceted_search

Olá,

Estou criando um tema do zero utilizando as funções do Tainacan. Existe a possibilidade de fazer com que a busca do wordpress (searchform) sempre retorne resultados utilizando a interface gerada pela função tainacan_the_faceted_search() ?

Por exemplo, tenho um banner com um texto e um campo “Busque no site”, mas gostaria que ao invés da página de resultados normal do wordpress, os resultados aparecessem como estive procurando dentro da própria interface do Tainacan ( barra lateral, cards, filtros etc.)

Obrigado.

Olá @Matheus_Guimaraes. Vejo três jeitos de você conseguir isso. Primeiro, tem um bloco pra isso, que é a “Barra de Busca do Tainacan”. Ele sempre leva para a página de lista de itens que vc tiver criado.

Mas se vc quiser montar na mão pelo PHP também é possível. Tem dois caminhos:
1 - Construir seu próprio form e passar na action dele o endereço da lista (seja do repositório, de uma coleção X ou de um termo Y). Posso te mostrar um código de como fizemos isso no FILE;
2 - Usar os filtros do WordPress pra interceptar a busca de maneira geral. Isso sobrescreveria qualquer busca em qualquer formulário de busca já existente do seu tema. Posso te mostrar um código de como isso foi feito no Tainacan Interface.

Que caminho vc prefere?

Essa “Barra de busca do tainacan”, onde eu posso ter acesso a esse bloco separadamente?

Por que a busca que estou falando, seria uma busca bem simples, não teria intenção de colocar filtros ou qualquer outro metadado na primeira etapa, apenas um campo text mesmo.

Ela é uma barra de busca mesmo, só pra busca textual. Dá uma olhada na lista de blocos do Tainacan

Você diz os blocos do gutenberg? É que não estou utilizando o gutenberg, existe como puxar isto através de alguma função do plugin?

Ahh sim… é então vai ser escrever seu formulário de busca mesmo… segue aqui um exemplo:

O que importa é ser um form que tenha uma action que leve para on endereço onde está a busca do Tainacan, passando o parâmetro search com o conteúdo da busca. Neste caso, estou pegando o endereço da lista de itens do repositório (/itens), usando a função \Tainacan\Theme_Helper::get_instance()->get_items_list_slug(). Se fosse a lista de itens de uma coleção apenas eu precisaria instanciar ela e pegar o endereço dela. Você pode digitar o endereço da lista de itens da coleção na mão também se souber que ela não vai mudar.

Muito obrigado, o form com o theme:helper funcionou perfeitamente!

1 Like