Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

Entender y Trabajar con Datos en WordPress

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called Understanding and Working with Data in WordPress .
Understanding and Working with Relationships Between Data in WordPress

Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)

Un sitio web en WordPress consta de tres elementos principales:

  1. La propia instalación de WordPress
  2. El contenido del directorio wp-content que incluye los temas, plugins y archivos subidos al sitio.
  3. La base de datos donde se almacena todo el contenido.

La mayoría los usuarios de WordPress nunca entran en contacto directo con la base de datos y pueden incluso no ser conscientes de que está trabajando constantemente para poblar con contenido su web. Cuando WordPress muestra cualquier tipo de página, ya sea la página de inicio, una entrada, una página o un archivo, está accediendo a la base de datos para recuperar el contenido que los editores y administradores han añadido al sitio.

En esta serie de tutoriales veremos con detalle diferentes aspectos relativos a la base de datos de WordPress. La serie tendrá nueve partes, cubriendo los siguientes temas:

  1. Introducción
  2. Relaciones entre los datos
  3. Tipos de contenido
  4. Datos de usuario
  5. Metadatos
  6. Taxonomías, categorías, etiquetas y términos
  7. Diferencias entre taxonomías y metadatos de post
  8. La tabla de opciones
  9. Datos de un Multisitio WordPress

En esta introducción, te voy a resumir las tablas que componen la base de datos y cómo su relación con los diferentes tipos de contenido puede utilizarse para trabajar en WordPress e identificar qué ha sido almacenado y dónde.

Tipos de Contenido en WordPress

Como las tablas de la base se utilizan para almacenar contenido, antes de que puedas entenderlas debes comprender el concepto de contenido en WordPress. Existen diferentes tipos de contenido en WordPress:

  • entradas o posts
  • páginas
  • tipos de entradas personalizadas
  • adjuntos
  • enlaces
  • elementos del menú de navegación (los cuales son almacenados en entradas individuales)

Estos tipos de contenido contienen por tanto datos conectados a ellos:

  • categorías
  • etiquetas
  • taxonomías y términos personalizados
  • metadatos de entradas

Además de todos éstos, existen otros tipos de contenidos que se almacenan de forma distinta:

  • widgets
  • opciones
  • usuarios
  • sitios (para instalaciones multisitio)
  • contenido codificado manualmente (agregado al tema o a los plugins)
  • contenido procedente de otros lugares (contenido de terceros al cual se accede a través de feeds, streaming u otras técnicas)

Todos estos tipos de contenido se almacenan en algún lugar en la base de datos (o en ocasiones en los archivos de los temas o plugins como te mostraré). Podrían tener una entrada propia o formar parte de otra entrada existente (por ejemplo contenido perteneciente a un streaming incrustado en una entrada). También podrían enlazar a datos de otras tablas. Por ejemplo, los datos pertenecientes a las entradas serán vinculados a datos relativos a los usuarios de forma que WordPress sepa quién es el autor de la entrada.

La Estructura de la Base de Datos de WordPress

WordPress utiliza una variedad de tablas diferentes en la base de datos que establecen relaciones entre sí para minimizar la cantidad de información a almacenar, esto crea relaciones de "una hacia muchas". Esto significa que, pongamos este ejemplo, si un usuario puede tener muchas entradas relacionadas bajo el criterio de la autoría, y esta información se almacena en su registro de usuario. Esto ahorra espacio, si WordPress almacenase todos los datos de usuario, para cada usuario de cada entrada de la que son autores, implicaría la repetición de muchos datos y un montón de espacio.

El siguiente diagrama está extraido del codex de WordPress y muestra las tablas de la base de datos y cómo están conectadas entre sí:

La mayoría de las tablas están vinculadas a una o más tablas mediante un campo. Este campo tendrá un identificador único para cada registro como por ejemplo post_id. Esto se muestra con más detalle en esta tabla:

Tabla Datos Almacenados Vinculados a
wp_posts Entradas, páginas, archivos adjuntos, revisiones y elementos de menú de navegación wp_postmeta (vía post_id)
wp_term_relationships (vía post_id)
wp_postmeta Metadatos para cada entrada wp_posts (vía post_id)
wp_comments Comentarios wp_posts (vía post_id)
wp_commentmeta Metadatos para cada comentario wp_comments (vía comment_id)
wp_term_relationships Relaciones entre entradas y taxonomías wp_posts (vía post_id)
wp_term_taxonomy (vía term_taxonomy_id)
wp_term_taxonomy Taxonomías (incluyendo etiquetas y categorías) wp_term_relationships (vía term_taxonomy_id)
wp_terms Tus categorías y etiquetas y los términos asignados a las taxonomías personalizadas wp_term_taxonomy (vía term_id)
wp_links Los enlaces en tu blogroll (si lo tienes) wp_term_relationships (vía link_id)
wp_users Usuarios wp_posts (vía post_author)
wp_user_meta Metadatos para cada usuario wp_users (vía user_id)
wp_options La configuración del sitio y las opciones (establecidas a través de las pantallas de los Ajustes, los plugins y los temas) n/a

Algunas cosas que merece la pena destacar:

  • Las tablas de la base de datos tienen el prefijo wp_ por defecto. Puede cambiar esto cuando configures tu sitio pero no merece mucho la pena.
  • La tabla principal es wp_posts, donde serán almacenados la mayoría de tus datos. Mantiene (casi) todo los demás cohesionado.
  • Sólo existe una tabla que no está relacionada a otras, la tabla wp_options. Esto tablas almacena datos sobre el sitio y la instalación de WordPress, que no está relacionado con datos acerca de los mensajes o los usuarios.
  • Dos tablas se utilizan para almacenar datos sobre taxonomías - éstos serán explicados con más detalle más adelante en esta serie.
  • Las tablas wp_users y wp_comments no están vinculadas, aunque es posible especificar que los usuarios tengan la obligación de estar registrados para poder comentar, WordPress realmente no almacena datos sobre comentarios relativos a cada usuario que los haya publicado.
  • Una instalación multisitio tendrá algunas tablas extras. No he incluido aquí aquellos que están fuera del ámbito de este tutorial.

Enlazando Contenido a las Tablas de la Base de Datos

Después de haber visto los tipos de contenido existentes en WordPress y las tablas de la base de datos que usa para almacenarlos, podría ser útil hacer coincidir ambos. El siguiente panel muestra qué tabla de base de datos se utiliza para almacenar cada uno de los tipos de contenido.

Tipo de Contenido Tabla(s)
posts wp_posts
páginas wp_posts
tipos de entradas persobnalizadas wp_posts
archivos adjuntos wp_posts
enlaces wp_links
elementos de menú de navegación wp_posts
categorías wp_terms
etiquetas wp_terms
taxonomías personalizadas wp_term_taxonomy
términos de la taxonomía wp_terms
metadatos de la entrada wp_post_meta
widgets wp_options
opciones wp_options
usuarios wp_users
contenido con código escrito a mano wp_posts (si son agregados a las entradas)
wp_options (si se añaden en los widgets)
Archivos del tema y de los plugins (si se trata de código introducido manualmente)
contenido que pertenece a partes de terceros wp_posts (si ha sido añadido a las entradas)
wp_options (si se añaden a través de widgets o plugins)
Archivos de temas y plugins (si se ha introducido el código a mano)

Puede que hayas notado que no todas las tablas de la base de datos están incluídas en este panel. Esto es debido a que algunas de ellas se utilizan para almacenar metadatos y otras se utilizan para almacenar relaciones, ambos grupos se tratarán con más detalle más adelante en la serie.

Sumario

Afortunadamente ahora tienes una mejor comprensión de cómo y dónde almacena WordPress los diferentes tipos de datos, utilizando la estructura de la base de datos. En esta serie veremos todos los aspectos relativos a esto con más detalle.

En la siguiente parte, examinaré las relaciones entre los datos y veremos con más detalle cómo están relacionadas tablas específicas y cómo algunas se utilizan exclusivamente para almacenar datos acerca de las relaciones.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.