Daniel Castañera Garrido Full Stack Developer

Skip to content
  • Enlaces y recursos
  • Que leer
  • CV
Navigation
Tweet

La API para trabajar con metadatos en WordPress


Ya hemos visto como almacenar información en WordPress usando add_option ,…  podríamos decir que son datos que vamos a tener en todo nuestro WordPress pero y si quisiéramos ampliar información del perfil de los usuarios por ejemplo queremos añadir redes sociales que no existan, poner campos en nuestras categorías, comentarios, … para eso esta la metadata API de WordPress 

Como dice la documentación una simple y estándar forma de manipular la información de los objetos de WordPress.

La forma que tiene trabajar WordPress con esta información es muy sencilla, para cada uno de estos elementos básicos tiene una tabla en la base de datos para guardar los meta.

 

Como guarda los metadatos WordPress en la base de datos

  • users (usuarios) – wp_user y para guardar los metadatos  wp_usermeta
  • comments (comentarios) – wp_comments y para guardar los metadatos  wp_commentmeta
  • terms (categorías y etiquetas) – wp_terms  y para guardar los metadatos  wp_termmeta
  • posts (entradas y paginas) – wp_posts y para guardar los metadatos  wp_postmeta

Ya sabemos donde los guarda y vamos a ver como los guarda.

Pues simplemente con unas tablas donde guarda clave / valor.  

 

¿Porque usar este método?

Es muy flexible y puedes guardar cualquier campo. De esta forma evitas tener que cambiar el modelo para añadir nuevos campos.

 

Vamos a ver unos ejemplos con las tablas de meta de WordPress

Todas las tablas estan estructuradas de la misma manera.

 

Tabla de wp_usermeta

En este caso la tabla se compone de 4 campos:

  • umeta_id       // identificador  de la tabla wp_usermeta
  • user_id          // identificador  del usuario
  • meta_key      // clave en nickname, firstname,
  • meta_value  // valor o resultado

 

Tabla de wp_postmeta

  • meta_id  —-> identificador de la tabla
  • post_id  —-> identificador del post( este viene de la tabla wp_posts)
  • meta_key  —-> la clave
  • meta_value  –> el valor

 

Tabla de wp_commentmeta

  • meta_id  —-> identificador de la tabla
  • comment_id  —-> identificador del comentario ( este viene de la tabla wp_comments)
  • meta_key  —-> la clave
  • meta_value  –> el valor

 

Quien usa esto , aquello relacionado con comentarios por ejemplo el plugin askimet entre otros

Tabla de wp_termmeta

  • meta_id  —-> identificador de la tabla
  • term_id  —-> identificador del term ( este viene de la tabla wp_terms)
  • meta_key  —-> la clave
  • meta_value  –> el valor

 

 

¿Como se accede a esta información ?

Comentábamos al principio que WordPress tenia una api para trabajar con estos meta.

 

Funciones para trabajar con los metas de usuarios 

  • get_user_meta()
  • add_user_meta()
  • update_user_meta()
  • delete_user_meta()

 

Funciones para trabajar con los meta de los posts

  • get_post_meta()
  • add_post_meta()
  • update_post_meta()
  • delete_post_meta()

 

 

Funciones para trabajar con los meta de los terms ( categorias y etiquetas) 

  • get_term_meta()
  • add_term_meta()
  • update_term_meta()
  • delete_term_meta()

 

 

Esto no quiere decir que los campos se pongan y ya te van a aparecer los campos en el formulario pero un ejemplo practico seria que si os vais a una entrada y añadis un campo personalizado, dentro de un post, vereis el resultado en la base de datos.

Asi que para ese post en concreto  existe un metadato “camponuevo” con valor “veamos como se ve en la bd”

 

campo-nuevo-para-wordpress

 

 

Este sera el resultado en el mysql

 

ejemplo-campo-nuevo-metadata-wordpress

Como veis el ultimo campo es el que tenemos en la base de datos en la tabla wp_postmeta.

 


 

Espero que este articulo sirva para que entendáis un poco para que sirven los metadatos y como se almacenan.

 

alojamiento wordpress

Web Hosting
Entradas recientes
  • Arreglar el Fatal error: Allowed memory size MAC
  • Como instalar composer en macOS Catalina
  • Como subir de version una gema en rails
  • Comenzando a programar en Solidity con CryptoZombies
  • Como reinstalar Postgresql en Mac

Utilizamos cookies para ofrecerte la mejor experiencia en nuestra web.

Puedes aprender más sobre qué cookies utilizamos o desactivarlas en los ajustes.

Daniel Castañera Garrido Full Stack Developer
Powered by  GDPR Cookie Compliance
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!