El título lo dice todo. En este momento, en mis taxonomías personalizadas, obtengo los términos con el término id y nombre de la taxonomía.
¡Pensé que esta pregunta se habría hecho antes pero no la puedo encontrar en ningún lado! Así que pensé en preguntar y ver si alguien tiene alguna respuesta.
term_id
ocurrirá solo una vez en laterm_taxonomy
tabla (antes de que la columna no fuera única y los términos se pudieran compartir entre las taxonomías). Esto puede seguir evolucionando en el futuro, según la hoja de ruta de la taxonomía . Una parte de eso es combinar el término y las tablas de taxonomía de términos .El Codex dice:
¿Qué significa esto?
Un término es una palabra. Puede pertenecer a una taxonomía, como etiquetas, categorías o una taxonomía personalizada. La cuestión es: puede haber varias taxonomías que contienen el mismo término.
Digamos que tiene un término llamado "engorde". Esta palabra tiene un número de identificación. Este es el term_id. No depende de cómo se usa esta palabra, es decir, en qué taxonomías aparece el término.
Ahora la palabra "engorde" como etiqueta de publicación también tiene un número. Este es el term_taxonomía_id. Corresponde a "la etiqueta de publicación 'engorde'".
Quizás también tenga una categoría llamada "engorde". Si bien el term_id es el mismo, el term_taxonomy_id para "la categoría 'engorde'" es diferente.
fuente
Como esto es parte de una mayor comprensión del diseño, lo describiré como un todo ... :)
En WP 4.5.3 todavía hay todas estas tablas (hablaré de ellas sin prefijo):
El camino para obtener los nombres legibles de los términos de publicación los atraviesa todos.
publica
el identificador principal aquí es
ID
: una identificación de una publicación (de cualquier tipo)term_relationships
almacena pares de:
object_id
- puede serposts.ID
(pero no tiene que serlo)term_taxonomy_id
- esto NO es un id de un término (categoría) sino un id de RELACIÓN entre un término (categoría) y una taxonomía ("tipo de categoría")term_taxonomía
el identificador principal aquí se
term_taxonomy_id
describe arriba ^^otras columnas importantes:
term_id
- una identificación de un término (categoría)taxonomy
- almacena la taxonomía del término ("tipo de categoría")Esto puede parecer divertido, pero la intención inicial era agregar la capacidad de los términos para tener más taxonomías (lo que en algunos casos puede tener sentido).
términos,
el identificador principal aquí es el
term_id
- una identificación de una categoría,otras columnas importantes aquí son:
name
- nombre de categoría legible, por ejemplo, "Géneros musicales"slug
- la babosa de un término utilizable, por ejemplo, en URLPor lo tanto, la brutal demostración de SQL para
obtener todas las publicaciones publicadas y todas sus categorías con los nombres de las categorías
podría verse así (agregue prefijos a las tablas cuando realice pruebas en su propio WP DB):
fuente
El
term_id
siempre es único al igual que elterm_taxonomy_id
. Ambos tienen unaAuto Increment
estructura en la tabla.La tabla
wp_term_taxonomy
se asegura de que, por ejemplo, se crea una categoría, por lo que puede interferir con wordpress Utiliza por ejemplo WooCommerce:product_tag
,product_type
,product_cat
, todos ellos son los llamados taxonomías personalizadas. Esta tabla también une la estructura padre / hijo. Con su columnaparent
.Si volvemos a elegir Woocommerce como ejemplo, esta tabla vincula el tipo de publicación
products
a su taxonomíaproduct_cat
, que contiene un nombre, por ejemplo, Computadoras que, por supuesto, se recupera de la tablawp_terms
. Esta tabla contiene elterm_id
,name
,slug
yterm_group
. (term_group que personalmente nunca he usado)Esperemos que lo anterior aclare un poco más las diferencias y cómo Wordpress usa estas tablas.
fuente