Mucha gente al instalar WordPress se pone simplemente a usarlo, a rellenar contenido, a hacer sus laboras de personalización, etc. Pero si queremos profundizar un poco más, ya sea por curiosidad o porque nos vamos a dedicar al desarrollo sobre esta plataforma no está de más echar un vistazo a la base de datos sobre la que se reparten todos los elementos de la herramienta.
He hecho una instalación local de WordPress, desde cero, y con la herramienta MySQL Workbench he extraído el modelo de las tablas que se usan las cuales, brevemente explico a continuación sin profundizar demasiado pues pretendo en otras entradas desarrollar un poco más el tema.
- wp_posts: Tiene todas las entradas del blog, tanto los posts normales por defecto como los personalizados sobre los que hablaré en otros posts (valga la redundancia), en WordPress todo es un post, así también contiene las páginas, las revisiones y el multimedia. Sin duda, almacenando tanto contenido puede llegar a ser la tabla que más pese en la base de datos.
- wp_postmeta: Contiene los metadatos de los posts, pueden ser los campos personalizados, si creo un tipo de post personalizado, por ejemplo perro, y lo creo para que contenga varios metadatos como raza, color, edad, estos datos irán guardados en esta tabla.
- wp_users: Sin complicación, datos de todos los usuarios de la plataforma.
- wp_usermeta: Metadatos de los usuarios, WordPress distingue entre lo que es el usuario en sí de sus datos, aquí iría el apellido, nombre, nivel de usuario, etc.
- wp_links: Todos los enlaces añadidos desde el panel de administración con sus opciones.
- wp_comments: Todos los comentarios introducidos en la plataforma, se vincunla con los posts a través de la ID de la entrada.
- wp_commentmeta: Contiene todos los metadatos de los comentarios.
- wp_options: Todo lo configurado desde el panel de administración en la sección Ajustes se almacena en esta tabla.
- wp_terms: Todas las taxonomías creadas (los términos).
- wp_term_taxonomy: Sirve para asociar los términos con su tipo de taxonomía.
- wp_term_relationships: Sirve para realizar la combinación de la taxonomía con el contenido, se encarga de asignar un termino que puede ser categoría, etiqueta a una página, una entrada, etc.
El tema de los términos es quizá un poco el más lioso, por eso os pongo el siguiente ejemplo de la página web del Club Ciclista MTB Alicante.
En la tabla wp_terms tenemos los siguientes datos:
Como se puede observar se almacenan todos los nombres de las taxonomías, sean etiquetas o categorías.
En cuanto a la tabla wp_term_taxonomy:
Se hace una asociación de los términos con el tipo de taxonomía que es, categoría, etiqueta, titulo de menú, etc.
Y en tercer lugar, la wp_term_relationships:
Bueno, esta tabla se encargaba de hacer toda la asociación, me voy a centrar en el objeto con ID 24 que resulta ser esta entrada en el blog.
Se puede ver que pertenece a la categoría club, y tiene las etiquetas de beneficios, mejora y normativa. En la tabla tiene asignado el ID de wp_term_taxonomy de 4, 2, 5 y 6. En wp_term_taxonomy vemos que 4, 5 y 6 son etiquetas y 2 una categoría, por último solo hay que mirar en wp_term para ver su nombre.
Espero que os haya servido el post, al menos para satisfacer algo vuestra curiosidad.
¿Os habíais planteado indagar en la base de datos de WordPress? Yo tampoco hasta que empece a desarrollar sobre esta plataforma en mi último empleo 😉
2 comentarios en «La base de datos de WordPress»