Descripción de la base de datos de WordPress
Seguimos con los artículos enfocados a desarrolladores WordPress, en esta ocasión vamos a hablar de la base de datos de WordPress para describir todas sus tablas y que información contienen.
Conocer la base de datos es algo de gran ayuda y no sólo en el ámbito de desarrollo WordPress sino que nos permitirá incluso diagnosticar problemas que surjan con nuestro WordPress ocasionados por la base de datos.
Para los que seáis nuevos en el tema, deciros que WordPress emplea una base de datos SQL para almacenar la información necesaria. En esta base de datos encontramos desde el contenido de las entradas hasta los valores de los ajustes de WordPress, por ello no está de más tener una idea de su estructura.
Las que voy a comentar van a ser las bases de datos que se crean pro defecto en una instalación WordPress versión 3.9 (también válido para versiones 3.8).
Descripción de la base de datos de WordPress
Vamos a ir detallando el nombre de cada tabla y a continuación una descripción del contenido y para qué se emplea.
wp_commentmeta
La tabla wp_commentmeta
contiene los meta datos de los comentarios. Estos meta datos es información extra que podemos asociar a cada comentario.
wp_comments
En la tabla wp_comments
se almacenan los comentarios de nuestro blog WordPress. No sólo en contenido del comentario sino que también encontramos datos del autor del comentario como: email, nombre, User-Agent, web, etc…
wp_links
En la tabla wp_links
se almacena la información de los enlaces (funcionalidad obsoleta desde WordPress 3.5). Algunos blogs todavía siguen haciendo uso de esta funcionalidad a través del plugin Links Manager.
En las instalaciones de versiones superiores a WordPress 3.5 esta tabla se sigue creando pero está vacía por defecto.
wp_options
La tabla wp_options
contiene todos los datos relativos a las opciones de nuestro blog. Por ejemplo contiene datos como: el nombre del blog, la descripción del blog, la URL del blog, email de administrador, etc… En algunos tutoriales ya modificamos esta tabla manualmente, por ejemplo en el tutorial de cómo desactivar los plugins de WordPress empleando la base de datos.
wp_postmeta
La tabla wp_postmeta
Contiene los meta datos de las entradas. Estos meta datos son datos extra asociados a cada entrada. Algunos plugins también agregan datos a esta tabla, el ejemplo que me viene a la cabeza es WordPress SEO por Yoast que agrega datos a esta tabla como la metadescripción o la palabra clave de cada artículo.
wp_posts
En la tabla wp_posts
se almacenan los contenidos de las entradas, contenidos de las páginas y los menús personalizados.
wp_terms
En la tabla wp_terms
encontraremos las diferentes categorías de nuestras entradas (también las categorías de los enlaces en versiones de WordPress 3.5 o inferiores). La tabla también contiene los datos de las etiquetas o tags de nuestras entradas.
wp_term_relationships
Las entradas están asociadas con categorías y etiquetas o tags, pues esta asociación es lo que se que se guarda en la tabla wp_term_relationship
. La relación entre enlaces y categorías se guarda también en esta tabla en versiones de WordPress 3.5 o inferiores, que usen los enlaces organizados en categorías.
wp_term_taxonomy
En la tabla wp_term_taxonomy
se describen las diferentes taxonomías (categorías, tags o etiquetas y enlaces en ciertas versiones de WordPress). Algunos de los datos que podemos encontrar en esta tabla son el tipo de taxonomía, el número de entradas o enlaces asociados con cada categoría/etiqueta/enlace, etc…
wp_usermeta
La tabla wp_usermeta
contiene los meta datos de cada usuario. Estos meta datos son información extra asociada a cada usuario, por ejemplo: nombre, apellidos, permisos, etc…
wp_users
La tabla wp_users
contiene todos los usuarios del blog con datos como emails, contraseñas encriptadas, etc…
Gráfico de todas las tablas de la base de datos WordPress y como se relacionan.
Para hacernos una idea más visual de como resalcionan las diferentes tablas de la base de datos de WordPress recomiendo echar un vistazo a la siguiente imagen.
Por último dejo el enalce con la documentación oficial del Codex (en inglés ya que no tiene versión en español) que nos describe la base de datos de WordPress: http://codex.wordpress.org/Database_Description