O título diz tudo. No momento, em minhas taxonomias personalizadas, estou recebendo os termos usando o termo id e nome da taxonomia.
Achei que essa pergunta já teria sido feita antes, mas não a encontra em lugar nenhum! Então, pensei em perguntar e ver se alguém tem alguma resposta.
term_id
um agora ocorrerá apenas uma vez naterm_taxonomy
tabela (antes da coluna não ser exclusiva e os termos poderem ser compartilhados entre taxonomias). Isso pode continuar evoluindo no futuro, com base no roteiro da taxonomia . Uma parte disso é combinar o termo e as tabelas de taxonomia de termos .O Codex diz:
O que isto significa?
Um termo é uma palavra. Pode pertencer a uma taxonomia, como tags, categorias ou uma taxonomia customizada. A questão é: pode haver várias taxonomias contendo o mesmo termo.
Digamos que você tenha um termo chamado "engorda". Esta palavra tem um número de identificação. Este é o term_id. Não depende de como essa palavra é usada, ou seja, em quais taxonomias o termo aparece.
Agora, a palavra "engorda" como tag de postagem também tem um número. Este é o term_taxonomy_id. Corresponde à "tag post 'engorda'".
Talvez você também tenha uma categoria chamada "engorda". Embora o term_id seja o mesmo, o term_taxonomy_id para "a categoria 'engorda'" é diferente.
fonte
Como isso faz parte de uma maior compreensão do design, descreverei-o como um todo ... :)
No WP 4.5.3, ainda existem todas essas tabelas (falarei sobre elas sem prefixo):
O caminho para obter os nomes legíveis dos termos de postagem passa por todos eles.
publica
o identificador principal aqui
ID
- um ID de uma publicação (de qualquer tipo)term_relationships
armazena pares de:
object_id
- pode serposts.ID
(mas não precisa ser)term_taxonomy_id
- NÃO é o ID de um termo (categoria), mas um ID de RELACIONAMENTO entre um termo (categoria) e taxonomia ("tipo de categoria")term_taxonomy,
o identificador principal aqui está
term_taxonomy_id
descrito acima ^^outras colunas importantes:
term_id
- um ID de um termo (categoria)taxonomy
- armazena a taxonomia do termo ("tipo de categoria")Este pode parecer engraçado, mas a intenção inicial era adicionar a capacidade de termos terem mais taxonomias (o que em alguns casos pode fazer sentido).
termos
o principal identificador aqui é o
term_id
- um ID de uma categoriaoutras colunas importantes aqui são:
name
- nome da categoria legível, por exemplo, "Gêneros de Música"slug
- a lesma de um termo utilizável, por exemplo, no URLPortanto, o SQL brutal demonstrativo para
obter todas as postagens publicadas e todas as suas categorias com nomes de categorias
pode se parecer com isso (adicione prefixos às tabelas ao testar em seu próprio WP DB):
fonte
O
term_id
é sempre único, assim como oterm_taxonomy_id
. Ambos têm umaAuto Increment
estrutura na tabela.A tabela
wp_term_taxonomy
torna-se, por exemplo, que uma categoria é criada, então wordpress pode interferir com ele usa por exemplo WooCommerce:product_tag
,product_type
,product_cat
, todos eles são os chamados taxonomias personalizadas. Esta tabela também liga a estrutura pai / filhos. Com sua colunaparent
.Se escolhermos novamente o Woocommerce como exemplo, esta tabela vinculará o tipo de postagem
products
à taxonomia delesproduct_cat
, que contém um nome, por exemplo, computadores, que é obviamente recuperado da tabelawp_terms
. Esta tabela contém aterm_id
,name
,slug
eterm_group
. (term_group que pessoalmente nunca usei)Espero que o exposto torne as coisas um pouco mais claras sobre as diferenças e como o Wordpress usa essas tabelas.
fonte