Gostaria de transformar alguns tópicos em subtópicos de outros.
Digamos que eu tenha o “Tópico A”. Na página do Tópico A, colocarei um botão para “criar subtópico”. Isso permitirá que o usuário crie um novo tópico, o “Tópico B”. O Tópico B seria um filho do Tópico A.
Do ponto de vista da experiência do usuário, isso significa:
Também poderia haver um botão na página do Tópico A para “ver todos os tópicos filhos do Tópico A”, o que levaria a uma lista dos tópicos filhos do Tópico A, como o Tópico B e quaisquer outros tópicos que sejam filhos do Tópico A.
Qual é a melhor maneira de fazer isso? (Estou assumindo que terei que fazer isso em um plugin, o que não há problema.)
Nota: estou procurando apenas um nível de subtópico, não vários.
Aqui estão alguns detalhes sobre as possibilidades que acredito que poderiam funcionar:
Categorias (embora isso provavelmente não seja o melhor caminho)
As categorias ofereceriam funcionalidade semelhante à que tenho em mente, mas isso poderia ficar pesado demais quando houver um número razoável de tópicos com subtópicos (parece exagero ter basicamente uma nova categoria para cada tópico pai).
ou
Tags
O melhor que consigo pensar no momento é usar tags. Assim, ao clicar em “criar subtópico” no Tópico A, abre-se um novo tópico e eu adiciono programaticamente uma tag oculta, como “Tópico-A”, que linka para o Tópico A. Então, ao clicar em “ver todos os subtópicos” do Tópico A, realiza-se uma busca pela tag “Tópico-A”.
Isso parece bastante limpo, exceto pelo fato de haver muitas tags (basicamente uma tag para cada tópico principal, o que pode acabar sendo um número grande).
ou
Campos personalizados para tópicos
Outra possibilidade que considerei é criar um campo personalizado para tópicos, que seria um array com os IDs dos subtópicos daquele tópico. Isso também poderia funcionar, mas provavelmente seria um pouco mais complicado de codificar.
Por exemplo, teria que atualizar o campo personalizado do tópico principal apenas após a criação de um subtópico; e teria que criar um novo tipo de busca — buscar todos os tópicos dentro do array do campo personalizado do tópico principal — em vez de simplesmente usar a funcionalidade de busca por tags já existente.
Existe outra solução que estou deixando passar?