# Filtrar coleções

**URL:** <https://tainacan.discourse.group/t/filtrar-colecoes/594>\
**Category:** Dúvidas\
**Created:** [Novembro 19, 2021, 6:48pm UTC](https://tainacan.discourse.group/t/filtrar-colecoes/594 "2021-11-19T18:48:21Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![sarinha](https://avatars.discourse-cdn.com/v4/letter/s/ac8455/32.png) [@sarinha](https://tainacan.discourse.group/u/sarinha)\
**Post date:** [Novembro 19, 2021, 6:48pm UTC](https://tainacan.discourse.group/t/filtrar-colecoes/594/1 "2021-11-19T18:48:21Z")

</div>

Olá :)) Eu queria saber se é possível criar filtros para as coleções, tal como é com os itens de uma coleção, que apareça na página que lista todas as coleções do repositório. Se não for possível, existe algum jeito de fazer algo parecido?

---

<div class="post-metadata">

**Author:** ![mateus.m.luna](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/mateus.m.luna/32/3_2.png) [@mateus.m.luna](https://tainacan.discourse.group/u/mateus.m.luna)\
**Post date:** [Novembro 19, 2021, 8:48pm UTC](https://tainacan.discourse.group/t/filtrar-colecoes/594/2 "2021-11-19T20:48:14Z")

</div>

Olá @sarinha, tudo bem?

Então… a resposta curta é não. Por enquanto não temos como criar filtros para coleções.

MAS… se você tiver condições de botar a mão em código, podemos explicar o processo para se registrar uma taxonomia vinculada às coleções, é relativamente simples. Assim poderiam ser criadas categorias para se filtrar elas, pelo menos na lista de coleções do painel administrativo. Na parte pública (no tema) já fica mais complicado porque vai depender do código de cada template.

---

<div class="post-metadata">

**Author:** ![sarinha](https://avatars.discourse-cdn.com/v4/letter/s/ac8455/32.png) [@sarinha](https://tainacan.discourse.group/u/sarinha)\
**Post date:** [Novembro 22, 2021, 5:38pm UTC](https://tainacan.discourse.group/t/filtrar-colecoes/594/3 "2021-11-22T17:38:09Z")

</div>

Queríamos mais que o filtro aparecesse pros usuários do que no painel administrativo, usamos o tema do tainacan.

---

<div class="post-metadata">

**Author:** ![mateus.m.luna](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/mateus.m.luna/32/3_2.png) [@mateus.m.luna](https://tainacan.discourse.group/u/mateus.m.luna)\
**Post date:** [Novembro 22, 2021, 5:45pm UTC](https://tainacan.discourse.group/t/filtrar-colecoes/594/4 "2021-11-22T17:45:51Z")

</div>

> [@sarinha](#):
>
> suários do que no painel administrativo, usamos o tema

É infelizmente ainda estamos meio longe de ter algo assim… 😕 Até porquê não é tão comum encontrarmos instalações com muitas coleções, mais com algumas poucas que tenham muitos itens… Vale lembrar que pra se justificar a criação de uma nova coleção precisamos ter uma estrutura de metadados diferentes… tem casos em que uma taxonomia funciona melhor para separar itens em grupos diferentes dentro de uma mesma coleção.

De qualquer jeito, a sugestão que eu daria agora, se você tem muitas coleções e quer ajudar os usuários a ver elas por agrupamentos diferentes, seria montar uma página usando os blocos gutenberg. Talvez com os blocos de “Lista de Coleções do Tainacan” ou “Carrossel de Coleções do Tainacan” você possa manualmente selecionar coleções que você classificaria com “X” e depois mais abaixo, mostrar outra seleção com as que você classificaria como “Y”.

É o caminho mais “fácil” que eu vejo, sem precisar criar um template específico para isso no código.

---

<div class="post-metadata">

**Author:** ![sarinha](https://avatars.discourse-cdn.com/v4/letter/s/ac8455/32.png) [@sarinha](https://tainacan.discourse.group/u/sarinha)\
**Post date:** [Novembro 22, 2021, 6:09pm UTC](https://tainacan.discourse.group/t/filtrar-colecoes/594/5 "2021-11-22T18:09:23Z")

</div>

E se fosse pelo caminho do código? Como seria?

---

<div class="post-metadata">

**Author:** ![mateus.m.luna](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/mateus.m.luna/32/3_2.png) [@mateus.m.luna](https://tainacan.discourse.group/u/mateus.m.luna)\
**Post date:** [Novembro 22, 2021, 6:31pm UTC](https://tainacan.discourse.group/t/filtrar-colecoes/594/6 "2021-11-22T18:31:23Z")

</div>

Eu dividiria em três etapas:

1. Criar uma Taxonomia (do WordPress, não do Tainacan) e associar ela ao _Post Type_ `tainacan-collection`. A documentação sobre isso tá aqui: [register\_taxonomy() | Function | WordPress Developer Resources](https://developer.wordpress.org/reference/functions/register_taxonomy/), mas dá pra achar alguns tutoriais na internet mais claros, por exemplo: [How to Create WordPress Custom Post Type (CPT) and Taxonomy - Hello World Tutorial, Tips and Tricks • Crunchify](https://crunchify.com/how-to-create-wordpress-custom-post-type-cpt-and-taxonomy-hello-world-tutorial-tips-and-tricks/). Se quiser ver um exemplo de onde fizemos isso, tem este código deste tema aqui: [Tema-IPHAN-INRC/register\_category\_taxonomy\_collection\_tainacan.php at master · tainacan/Tema-IPHAN-INRC · GitHub](https://github.com/tainacan/Tema-IPHAN-INRC/blob/master/inc/register_category_taxonomy_collection_tainacan.php). Na próxima versão do Tainacan, fazer isto já será o suficiente para que a taxonomia apareça no painel admin;
2. Atribuir os termos desta taxonomia à cada coleção. Para isto você precisa criar um “hook” no formulário da Coleção, que vai mostrar as opções dentro do formulário Coleção do Tainacan. O código do tema que te mostrei acima também já está fazendo isso. O tema Tainacan Interface, por exemplo, faz uso de um desses para inserir aquelas opções de Cor da Coleção. Aqui o código dele onde isto acontece: [tainacan-theme/class-tainacanthemecollectioncolor.php at develop · tainacan/tainacan-theme · GitHub](https://github.com/tainacan/tainacan-theme/blob/develop/src/functions/class-tainacanthemecollectioncolor.php). No final das contas, se trata de usar a Action: `tainacan-register-admin-hooks`;
3. Criar um novo _template_ que liste as coleções e que possua um seletor dos termos da sua Taxonomia. Em um tema filho, bastaria criar seu próprio arquivo `https://github.com/tainacan/tainacan-theme/blob/develop/src/archive-tainacan-collection.php`. O seletor precisaria adicionar `tax_queries` à URL para filtrar a consulta pela sua taxonomia. Mais sobre filtragem por taxonomias aqui: [WP\_Query | Class | WordPress Developer Resources](https://developer.wordpress.org/reference/classes/wp_query/#taxonomy-parameters).

Se for por este caminho e empacar em alguma etapa, pode nos dar um grito aqui!

---

<div class="post-metadata">

**Author:** ![vnmedeiros](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/vnmedeiros/32/7_2.png) [@vnmedeiros](https://tainacan.discourse.group/u/vnmedeiros)\
**Post date:** [Outubro 27, 2023, 12:25pm UTC](https://tainacan.discourse.group/t/filtrar-colecoes/594/7 "2023-10-27T12:25:05Z")

</div>


