Las taxonomías son lo que lleva a WordPress más allá de una simple plataforma de blogs y al reino de un CMS.
Pero ¿cómo se almacenan en la base de datos??
Las taxonomías y los términos son una poderosa función de WordPress que le permite agregar mucha más flexibilidad a sus sitios. Están relacionados con otros dos tipos de contenido: publicaciones y enlaces, y la estructura de la base de datos significa que se trata de una relación de uno a varios, donde una publicación puede tener múltiples términos en múltiples taxonomías, y un término puede asignarse a múltiples publicaciones o campo de golf.
Comenzaré por definirlos, como muchas otras cosas en WordPress, la terminología puede ser confusa.!
Una taxonomía es un sistema de categorización o clasificación de cosas, normalmente jerárquicamente. La taxonomía más famosa es la taxonomía de Linnean que se usa para clasificar los seres vivos..
En WordPress, las taxonomías se utilizan para clasificar sus datos y agruparlos en conjuntos y subconjuntos.
WordPress viene con tres taxonomías integradas:
Las categorías y etiquetas son un poco como las publicaciones y las páginas, ya que son del mismo tipo de contenido (taxonomías) pero se comportan de manera diferente de manera predeterminada, en que las categorías son jerárquicas y las etiquetas no son.
La taxonomía de la categoría de enlaces funciona de manera similar a las etiquetas y, en teoría, podría usarse para cualquier tipo de objeto, pero por defecto no se muestra en la pantalla de edición posterior y está en la pantalla de edición de vínculos si se han habilitado los enlaces.
También puede agregar tantas taxonomías adicionales como desee utilizando taxonomías personalizadas. Estos entonces se comportan de manera similar a las categorías y etiquetas, y tienen términos. Cada una de sus taxonomías tiene el mismo estado que cualquiera de las taxonomías integradas. Esto es similar a una comparación entre publicaciones y tipos de publicaciones personalizadas.
Cada taxonomía tendrá términos que usted usa para ordenar sus datos. Una categoría es solo un término en la categoría taxonomía, y una etiqueta es un término en la taxonomía etiqueta. Cuando cree taxonomías, creará los términos de sus taxonomías mediante el panel de WordPress o utilizando la función wp_insert_term ().
Los términos pueden ser muy poderosos cuando se combinan con consultas personalizadas: puede crear archivos de plantillas personalizadas en sus temas o complementos para mostrar publicaciones con múltiples términos, ordenar por términos, identificar términos en taxonomías y mucho más.
Como describí en el tutorial sobre las relaciones entre los datos, WordPress usa una relación de muchos a muchos. Esta relación se crea utilizando tres tablas:
wp_term_relationships
wp_term_taxonomy
wp_terms
Estas tablas se muestran a continuación, junto con las tablas a las que están vinculados, wp_posts
y wp_links
:
Echemos un vistazo a cada una de las tablas y cómo funciona..
los wp_terms
table almacena todos los términos individuales para sus categorías, etiquetas, categorías de enlaces y taxonomías personalizadas. Tiene solo cuatro campos:
term_id
es la ID única para el términonombre
babosa
term_group
Es un campo que WordPress no utiliza actualmente, por lo que puede ignorarlo de manera segura..los wp_term_taxonomy
la tabla almacena más datos sobre los términos y las taxomías de las que forman parte. Tiene seis campos:
term_taxonomy_id
almacena una identificación para el registro en esta tablaterm_id
representa el ID del término, vinculado a su registro en wp_termstaxonomia
es el nombre de la taxonomía en la que se encuentra el términodescripción
padre
se refiere al término principal del término, si la taxonomía es jerárquica y tiene unocontar
es el recuento de puestos con el terminoEn muchas instalaciones de WordPress, habrá un registro en el wp_term_taxonomy
tabla para cada término en el wp_terms
tabla, pero en algunos casos tendrá más de un registro para cada término. Esto sucede cuando crea dos términos con el mismo nombre y slug en diferentes taxonomías, y significa que podría crear una consulta para generar publicaciones con ese término en múltiples taxonomías.
Esto significa que la relación entre estas dos tablas es de uno a muchos: un registro en el wp_terms
tabla se puede vincular a varios registros en el wp_term_taxonomy
mesa, pero cada registro en wp_term_taxonomy
Sólo está vinculado a un registro en wp_terms
.
los wp_term_relationships
La tabla es crucial para crear la relación de muchos a muchos entre objetos y términos. Tiene solo tres campos:
object_id
está vinculado a ID del mensaje
en el wp_posts
mesa o link_id
en el wp_links
mesaterm_taxonomy_id
está vinculado al mismo campo en el wp_term_taxonomy
mesaterm_order
es el orden en que los términos se agregaron a un objeto. Esto solo se usa si especificó que el argumento de ordenación fuera verdadero cuando registró la taxonomía: el valor predeterminado es falso y el valor predeterminado para este campo es 0.Debido a que cada objeto puede estar relacionado con múltiples registros en el wp_term_relationships
tabla, y así puede cada término, esto crea la relación de muchos a muchos.
La relación entre objetos (es decir, publicaciones y enlaces) y términos es muy poderosa, en parte porque es la única relación de muchos a muchos que usa WordPress.
Comprender cómo funciona esta relación y dónde se almacenan los datos clave lo ayudará a comprender cómo funcionan las taxonomías y los términos, y a usar las funciones asociadas con ellos..