# Dividir elementos da função "tainacan\_the\_metadata()"

**URL:** <https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867>\
**Category:** Suporte\
**Tags:** metadados\
**Created:** [Maio 25, 2022, 12:49pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867 "2022-05-25T12:49:57Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matheus\_Guimaraes](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/matheus_guimaraes/32/845_2.png) [@Matheus\_Guimaraes](https://tainacan.discourse.group/u/Matheus_Guimaraes)\
**Post date:** [Maio 25, 2022, 12:49pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/1 "2022-05-25T12:49:57Z")

</div>

Olá,

Gostaria de uma ajuda com o seguinte tópico, gostaria de separar alguns metadados em colunas diferentes, porém não consigo fazer esta separação utilizando a função tainacan\_the\_metadata(), tentei passar parâmetros dentro de um $args porém não sei como localizar as taxonomias cadastradas.

Por exemplo, tenho 6 taxonomias diferentes cadastradas pela coleção:

- pais-de-producao
- tamanho-padrao
- estado-de-conservacao
- data
- descricao-adicional
- resumo

Gostaria de separar estes itens em 3 colunas, colocando 2 taxonomias em cada uma.

Como posso extrair essas taxonomias específicas baseadas nos slugs acima?

Muito obrigado.

Obrigado.

---

<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:** [Maio 25, 2022, 1:06pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/2 "2022-05-25T13:06:07Z")

</div>

Olá @Matheus_Guimaraes, tudo bem? Seja bem vindo ao nosso fórum!

Então, isto que você está pedindo é a grande razão pela qual estamos trabalhando no recurso chamado “Sessões de Metadados” para a próxima versão (0.19). Com ela ficará mais fácil ter uma separação semântica e visual de diferentes agrupamentos de metadados. Infelizmente, enquanto as sessões não estão prontas, o caminho é mais canseira mesmo. Para o que você está precisando, eu vejo duas estratégias:

1. Chamar a função `tainacan_the_metadata()` mais de uma vez, passando no atributo `metadata __in` ou `metadata__ not_in` o array de IDs ou array de slugs dos metadados desejados. Daí você consegue colocar, por exemplo, os metadados em DIVs diferentes para estilizá-los. Isto foi usado extensamente neste site aqui: [Hyperbolic – FILE FESTIVAL](https://archive.file.org.br/obras-artisticas/hyperbolic/)
2. Fazer uso das classes já existentes ao redor dos metadados para estilizar eles diferentemente. Se você olhar bem, há uma `<div>` ao redor de cada metadado que tem uma classe relacionada ao slug deles (se não me engano [há um parâmetro](https://github.com/tainacan/tainacan/blob/329eedf6a05454051337c2739d3cf7a2dacb6728/src/classes/entities/class-tainacan-item.php#L546) pra isso na função). Você pode então no seu CSS determinar regras como `column-span: 2`, ou `width: 100%`, etc, a depender do que você está buscando.

Sei que não é o ideal, mas acredite, vai ficar beeeem melhor quando tivermos as sessões. 😉

---

<div class="post-metadata">

**Author:** ![Matheus\_Guimaraes](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/matheus_guimaraes/32/845_2.png) [@Matheus\_Guimaraes](https://tainacan.discourse.group/u/Matheus_Guimaraes)\
**Post date:** [Maio 25, 2022, 1:18pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/3 "2022-05-25T13:18:16Z")

</div>

Perfeito, até pretendia fazer desta maneira mesmo:

Chamar a função `tainacan_the_metadata()` mais de uma vez, passando no atributo `metadata __in` ou `metadata__ not_in` o array de IDs ou array de slugs dos metadados desejados. Daí você consegue colocar, por exemplo, os metadados em DIVs diferentes para estilizá-los.

Porém, não consegui descobrir como utilizar corretamente os atributos ‘metadata’, `metadata __in` ou `metadata__ not_in`.

Você poderia colar um exemplo aqui, com um uso similar, utilizando por exemplo a taxonomia “pais-de-producao”.

O título e organização ficariam por conta de html e css, mas eu precisaria saber como extrair por exemplo somente a tax “pais-de-producao” e o seu link.

Muito obrigado pela ajuda.

---

<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:** [Maio 25, 2022, 1:33pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/4 "2022-05-25T13:33:14Z")

</div>

A `tainacan_the_metadata()` “busca” por metadados seguindo uma das três estratégias:

1. Todos o metadados do item atual, se vc não passar `metadata`, `metadata __not_in`, nem `metadata__ in`;
2. Um metadado específico, se você passar o objeto, ID, ou slug dele no `metadata`;
3. Busca nos metadados do item atual, filtrando por `metadata __not_in`, ou `metadata__ in`;

No seu caso vai ser o terceiro. Você precisa passar o ID ou slug dos metadados desejados. Se está fazendo isso dinamicamente, eu recomendaria fazer uma requisição para o repositório de metadados, algo como o que é feito aqui:

> <https://github.com/mateuswetah/filefestival-theme/blob/e78710490380e55673f0f814088cb84659df0039/tainacan/single-items.php#L20-L28>

E iterar neles para ver de que tipo eles são, qual seu slug, etc. Se vc está fazendo um código específico para uma coleção e seus metadados, você pode descobrir o ID deles pela interface administrativa mesmo. Na página dos metadados da coleção, clique em editar um metadado que você verá o ID do mesmo na URL. Assim vc pode só anotar eles e passar pra função no `metadata__in`;

Só um comentário, estamos falando aqui de metadados e não de taxonomias. No caso, na página do item, o que você vai mostrar são os valores do metadado X (tipo taxonomia) que são basicamente termos da taxonomia Y. O slug da taxonomia e do metadado que a usam é diferente.

Fez sentido?

---

<div class="post-metadata">

**Author:** ![Matheus\_Guimaraes](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/matheus_guimaraes/32/845_2.png) [@Matheus\_Guimaraes](https://tainacan.discourse.group/u/Matheus_Guimaraes)\
**Post date:** [Maio 25, 2022, 1:45pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/5 "2022-05-25T13:45:35Z")

</div>

Obrigado Mateusn

Meu conhecimento em programação é um pouco limitado. O que tentei fazer foi algo tipo isto, onde o ID da taxonomia foi o termo que passei no parametro metadata\_\_in:

```auto
$args = array(
                    'display_slug_as_class' => true,
                    'before_title' => '<div><h4>',
                    'after_title' => '</h4>',
                    'before_value' => '<p>',
                    'after_value' => '</p></div>',
                    'exclude_core' => true,
                    'metadata__in' => 623
                );

tainacan_the_metadata( $args );

```

Como eu poderia adaptar meu código acima para que ele se comporte da maneira que pensei? Minha ideia é que o código acima retornasse apenas o título da taxonomia em um h4, excluindo os elementos core da função e fizesse o display como já é feito na listagem completa, mas filtrando apenas a taxonomia específica:

**Estado de Conservação**  
Bom

Novamente, muito obrigado pela ajuda.

---

<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:** [Maio 25, 2022, 1:53pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/6 "2022-05-25T13:53:46Z")

</div>

Umm, acho que a primeira questão aí é passar um array ao invés do inteiro:

```php
'metadata__in' => [623]

```

Outra é verificar se este `623` é o ID do metadado tipo Taxonomia e não da Taxonomia, como comentei antes.

---

<div class="post-metadata">

**Author:** ![Matheus\_Guimaraes](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/matheus_guimaraes/32/845_2.png) [@Matheus\_Guimaraes](https://tainacan.discourse.group/u/Matheus_Guimaraes)\
**Post date:** [Maio 25, 2022, 1:57pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/7 "2022-05-25T13:57:23Z")

</div>

> [@mateus.m.luna](#):
>
> `'metadata__in' => [623]`

Tentei em um array, também não funcionou. A função não retorna nada.

Segue de onde tirei o id:

 ![image](https://global.discourse-cdn.com/free1/uploads/tainacan/original/1X/f11cdd884e7f3a5644679392b59930bddb69b6ff.png)

---

<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:** [Maio 25, 2022, 1:59pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/8 "2022-05-25T13:59:45Z")

</div>

Então, isso que está errado. Este é o ID da Taxonomia, mas o que você mostraria seria o Metadado que usa esta Taxonomia. Vá para a página dos metadados (seja do repositório, ou da coleção, se for o caso) e clique no botão de editar o metadado que está usando esta Taxonomia:

 ![image](https://global.discourse-cdn.com/free1/uploads/tainacan/original/1X/0718ccd8dca6fab320d33f37ad2514329243e27c.png)

---

<div class="post-metadata">

**Author:** ![Matheus\_Guimaraes](https://yyz2.discourse-cdn.com/free1/user_avatar/tainacan.discourse.group/matheus_guimaraes/32/845_2.png) [@Matheus\_Guimaraes](https://tainacan.discourse.group/u/Matheus_Guimaraes)\
**Post date:** [Maio 25, 2022, 2:05pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/9 "2022-05-25T14:05:15Z")

</div>

O que a dislexia não faz com a gente…

MUITO obrigado, “worked like a charm”.

Valeu mesmo Mateus, tenha um ótimo dia!

---

<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:** [Maio 25, 2022, 2:06pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/10 "2022-05-25T14:06:50Z")

</div>

`627`, não `623` 😉

---

<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:** [Maio 25, 2022, 2:12pm UTC](https://tainacan.discourse.group/t/dividir-elementos-da-funcao-tainacan-the-metadata/867/11 "2022-05-25T14:12:27Z")

</div>

Hehhehe tranquilo!

Precisando de mais ajuda aí, só abrir um novo tópico 🤜🏼 ✴ 🤛🏼
