Não é possível ter dois metadados dentro de um item usando a mesma Taxonomia

Acabei de descobrir o que acho que é uma limitação do Tainacan e gostaria de ajuda para confirmar ser uma limitação ou BUG e como resolver nosso caso.

O processo foi o seguinte:

  1. Nós temos uma taxonomia chamada Tipo de Item que é usada num metadado X da coleção A.

  2. Ao criar uma nova coleção B, conseguimos colocar um metadado Y atrelado à taxonomia Tipo de Item sem problema.

  3. Estamos reestruturando nossos metadados e queremos agora que ambos os metadados X e Y sejam convertidos para o metadado Z mas em nível de Repositório.

  4. Fomos, então, criar o metadado Z no nível do repositório atrelado à Taxonomia Tipo de Item, porén nesse momento acontecem os seguintes erros:

E ao clicar na mensagem de erro, aparece o fatídico erro 400:

Análise:

A mensagem `Você não pode ter 2 metadados taxonomia usando a mesma taxonomia a nível de coleção ou de repositório.` me parece a causa do problema.

Eu tentei criar dois metadados dentro da mesma coleção, atrelados à mesma taxonomia Tipo de Item e tive o mesmo erro.

Como o metadado de repositório aparecerá dentro do item, seria a mesma coisa de haver dois metadados atrelados à mesma taxonomia ao editar um item. Por isso acredito ser uma limitação intencional do Tainacan.

Vcs consegue me confirmar se é realmente uma limitação, ou seria um BUG?

E, sendo uma limitação, como posso resolver minha questão?

Como posso transformar meu metadado X taxonomia dentro da coleção A em um metadado Z de repositório daqui pra frente?

Será que só criando uma nova taxonomia “Tipo de Item 2” atrelada ao metadado Z e usando a edição em massa nos milhares de objetos que temos pra copiar de X para Z? Ou, de repente, fazendo a exportação de tudo e importação para preencher esse metadado Z de repositório?

Preferia, claro, não ter de recorrer a isso :confused:

Muito obrigado!

Olá @marvila, tudo bem?

É isso mesmo, é uma limitação. Eu vou tentar não entrar em detalhes demais aqui mas é uma restrição técnica do WordPress. Lá atrás quando modelaram as tabelas de taxonomias até pensaram em uma forma disso ser possível mas largaram mão no meio do caminho. De forma que quando um termo está vinculado à um post ele está vinculado por uma taxonomia diretamente, sem ter como “qualificar” mais de um vínculo por metadados diferentes. Esta é a mesma razão pela qual não conseguimos ter Taxonomias dentro do metadado Composto. É paia mas é um ponto bem crítico que já investigamos e não há alternativa sem uma futura criação de uma tabela dedicada mesmo para nossa estrutura de taxonomias.

O caminho para você me parece realmente ser:

  1. Exportar as duas coleções;
  2. Apagas as taxonomias delas;
  3. Criar o metadado de taxonomia (usando a taxonomia existente) nível repositório, que agora deve ser possível;
  4. Preencher em massa via uma importação (atualizando os dados com a coluna special_item_id) onde a coluna que ficava o antigo metadado agora é mapeada para o novo metadado de repositório.
1 curtida

Muito obrigado, Mateus!

É uma limitação, infelizmente. Em um projeto fiz a gambiarra de criar duas taxonomias que no fundo eram a mesma. Daí fiz um plugin que sincronizava as duas. Mas não é o ideal.

Pois é. No nosso caso é só uma taxonomia mesmo que queríamos fazer com que o metadado fosse de repositório. No momento vamos optar por seguir com elas criadas manualmente a cada nova Coleção. Serão poucas coleções, então o impacto é pequeno.

Este tópico foi fechado automaticamente 5 dias depois da última resposta. Novas respostas não são mais permitidas.