A pergunta é "Qual é a diferença entre taxonomias hierárquicas e não hierárquicas?" Esta pergunta realmente me surpreendeu a princípio, então achei que seria uma boa ideia mostrar a diferença para outras pessoas que navegam no site procurando a distinção.
Especificamente, a pergunta está se referindo ao hierarchical
argumento passado para a register_taxonomy()
função. Mais especificamente, qual é a diferença entre isso:
'hierárquico' => falso
register_taxonomy('movie-genre', 'movie', array(
'hierarchical' => false,
'label' => 'Genre',
'query_var' => 'movie-genre',
'rewrite' => array('slug' => 'genres' ),
));
E isto?
'hierárquico' => verdadeiro
register_taxonomy('movie-genre', 'movie', array(
'hierarchical' => true,
'label' => 'Genre',
'query_var' => 'movie-genre',
'rewrite' => array('slug' => 'genres' ),
));
Observe que vou seguir em frente e responder à minha própria pergunta, mas não a marcará como a menos que ninguém mais dê uma resposta muito boa também. Além disso, meu pressentimento me diz que talvez eu não tenha captado todas as distinções entre as duas dicotomias. Se não, por favor, deixe-nos saber o que eu perdi.
taxonomy
tags
hierarchical
MikeSchinkel
fonte
fonte
Respostas:
A resposta simples é que termos em taxonomias hierárquicas podem ter termos filhos . Mas o que mais?
'hierárquico' => falso
Quando você especifica a,
'hierarchical'=>false
obtém o seguinte tipo de metabox, que é o formato metabox que o WordPress também usa para Tags de postagem :'hierárquico' => verdadeiro
No entanto, quando você especifica,
'hierarchical'=>true
obtém o seguinte tipo de metabox, que é o formato metabox que o WordPress também usa para Categorias :Obviamente, o exemplo acima também indica onde a categorização hierárquica pode ser um pouco confusa, porque na vida real as subcategorias geralmente se aplicam a muitas categorias principais. Mesmo assim, permitir "muitos pais" não é como as taxonomias hierárquicas funcionam no WordPress, mas a IMO categorizar qualquer coisa perfeitamente é quase impossível, independentemente de como o WordPress funciona. Então Advertência Emptor!
No registro de taxonomia personalizada ou "Por que ele não salva?"
Embora não esteja diretamente relacionado à pergunta se você é um novato experimentando taxonomias personalizadas, ( ou um desenvolvedor experiente que não está prestando atenção como aconteceu comigo quando escrevi isso! ), É provável que você tente adicionar
register_taxonomy()
como o código você vê a pergunta diretamente nofunctions.php
arquivo do seu tema . Opa!Se você adicionar o código diretamente à
functions.php
sua metabox, será exibido, mas não salvará os termos recém-adicionados (e, na'heirarchical'=>true
forma da metabox, os termos existentes não serão carregados com as caixas de seleção.) Isso ocorre porque você precisa registrar taxonomias personalizadas ( e tipos de postagem personalizados) dentro de uminit
gancho, da seguinte forma:Espero que isto ajude!
fonte