Programación Web y SEO, Ingeniero Industrial

Cómo está construida la estructura de las tablas MySQL de WordPress

La estructura de las tablas de WordPress

WordPress 2.3 introdujo el actual esquema de datos o taxonomía.
Cualquier plugin que utilice tablas anteriores a la estructura de WP 2.3 no funciona.

Este nuevo esquema ha sustituido el esquema de tablas con categorías, post2cat, link2cat mediante la creación de 3 nuevas tablas que son ahora mucho más flexibles:

  • wp_terms
  • wp_term_relationships
  • wp_term_taxonomy
Estructura de las tablas de WordPress desde WP 3.2

Estructura de las tablas de WordPress desde WP 3.2

wp_terms

La primera tabla es la denominada terms. Tiene la información básica de los términos o terms.

term_id bigint(20) unsigned NOT NULL auto_increment,
name varchar(200) NOT NULL default ”,
slug varchar(200) NOT NULL default ”,
term_group bigint(10) NOT NULL default 0,
PRIMARY KEY (term_id),
UNIQUE KEY slug (slug),
KEY name (name)

term_id es un ID único para el term.
name nombre del term.
slug es único y es la URL en un modo amigable para los buscadores.
term_group es un término de agrupación de términos similares.

wp_term_taxonomy

Lo que hemos denominado term no es una categoría o etiqueta propiamente. Debe ser asignado su contexto en la tabla term_taxonomy.

term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment,
term_id bigint(20) unsigned NOT NULL default 0,
taxonomy varchar(32) NOT NULL default ”,
description longtext NOT NULL,
parent bigint(20) unsigned NOT NULL default 0,
count bigint(20) NOT NULL default 0,
PRIMARY KEY (term_taxonomy_id),
UNIQUE KEY term_id_taxonomy (term_id,taxonomy),
KEY taxonomy (taxonomy)

La tabla term_taxonomy pone los term dentro de una taxonomía.

Esto es lo que hace a los term ser una categoría, etiqueta, o parte de una taxonomía hecha a medida.onomies).

term_id es el ID de un term dentro de la tabla de terms.
taxonomy designates the taxonomy in which the term resides. The default taxonomies are category, link_category, and post_tag.
term_taxonomy_id is a unique ID for the term+taxonomy pair.
The rest of the fields provide information about the term in the context of the taxonomy:

The parent field keeps track of hierarchical relationships between terms in the taxonomy.
description provides a taxonomy specific description of the term.
count tracks how many objects are associated with the term+taxonomy pair. For example, given a term of the category taxonomy, count tracks how many posts are in that specific category.

wp_term_relationships

La útima tabla, term_relationships, asigna objetos como posts o enlaces a la tabla de term_taxonomy_id que viene de la tabla term_taxonomy.

object_id bigint(20) unsigned NOT NULL default 0,
term_taxonomy_id bigint(20) unsigned NOT NULL default 0,
term_order int(11) NOT NULL default 0,
PRIMARY KEY (object_id,term_taxonomy_id),
KEY term_taxonomy_id (term_taxonomy_id)
object_id is the ID of a post or link.
term_taxonomy_id is an ID from the term_taxonomy table designating a particular term+taxonomy pair.
term_order allows an ordering of terms for an object

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Categorías del Blog
Comprueba dominios libres