Metadata (4). Todos los datos de un attachment

Las metadata (metadatos en inglés) son datos adicionales de un elemento, en nuestro caso los attachment.

Pero hoy también vamos a ver qué formatos de imagen están actualmente instalados en nuestro WordPress.

Desarrollo de la idea

Concluíamos nuestro anterior artículo, Attachment WordPress (3). La lista, con los datos principales de cada uno de los attachment que teníamos en nuestro sitio web.

Pero ahora necesitamos encontrar la relación existente entre los attachments y los archivos reales de nuestro directorio ‘uploads’. Es decir, el elemento intermedio de nuestra famosa relación inicial:

Attachments <—> Registros del sistema <—> Archivos ‘uploads’

Para ello, utilizaremos la función wp_get_attachment_metadata(), la cual nos devuelve los campos meta de un attachment, que contienen datos como anchura y altura de la imagen, fichero, datos técnicos de la fotografía, y los diferentes formatos en los que se encuentra la imagen disponible y el fichero relacionado.

Pero necesitamos más datos. Además, necesitamos saber qué formatos de imagen tenemos actualmente instalados en nuestro CMS. Con ellos, podremos averiguar qué formatos y qué archivos están obsoletos, lo cual nos permitirá más tarde hacer limpieza, tanto de registros como de archivos. Esta información nos la ofrece la función get_intermediate_image_sizes().

 

Codificación. Metadata de los attachments

Primero, vamos a ver cómo saber qué tamaños de imágenes tenemos incorporados en nuestro WordPress.

Vamos a explicar un poco el funcionamiento del código:

En primer lugar, declaramos global la variable $_wp_additional_image_sizes para poder utilizarla. A continuación, ejecutamos un get_intermediate_image_sizes() para ver qué medidas están registradas. Con la primera sentencia if buscamos los tamaños thumbnail,  medium,  medium_largelarge, que son los propios del core WordPress. En la segunda sentencia condicional, aprovechamos $_wp_additional_image_sizes para buscar otras medidas establecidas por themes o plugins.

Además, vamos a buscar todos los attachments y sus datos y metadata.

De esta manera, tenemos dos matrices:

  • $stmpujante_attachments con los datos principales de los attachments,
  • $stmpujante_metadatos con los metadata de los attachments.

En conclusión, ya tenemos todos los datos que relacionan, o pueden relacionar, los attachments de WordPress con los archivos existentes en la carpeta ‘uploads’.

 

Fichero de ejemplo

Como en cada artículo, he desarrollado un pequeño plugin provisional, que nos crea una plantilla de página con la que podemos ver el resultado de aplicar la codificación del artículo correspondiente.

En este caso veréis que al inicio de la página aparecen las medidas registradas, y a continuación un campo <select> con los nombres de todos los attachments que tenemos en nuestro WordPress. Al seleccionar uno de ellos, aparecerán abajo tres <div> con los datos, los metadata y la imagen en cuestión.

Como cada semana, encontraréis el fichero de ejemplo subido a mi cuenta de GitHub, así como en el grupo de Facebook ‘WordPress en Español‘.

 

Conclusión y próximo artículo

En resumen, con lo visto en este artículo hemos cerrado el conjunto de relaciones entre attachments y archivos del directorio uploads.

En el próximo artículo echaremos más leña al fuego, mediante la incorporación de las taxonomías a nuestros attachments, y veremos qué juego tendrán en nuestro plugin.

 

Contributors

En cuanto a la lista de colaboradores de este plugin, ésta no ha cambiado:

miguelthepoohsergiotoca

Sigo animando desde aquí a la participación, mediante comentario, crítica o sugerencia, a todo aquel que crea que tiene algo que pueda aportar a este proyecto. Obviamente, todo aquel que participe de una manera significativa le pediré que se registre en wordpress.org, para incluir su nombre en los créditos del plugin final.

 

Preguntas, retos y previos

Esta semana sólo voy a hacer una pregunta:

¿Crees que falta algún dato más de los que ya hemos obtenido? En caso afirmativo, ¿cuál o cuáles?

En fin, que paséis una buena semana.

Una respuesta a “Metadata (4). Todos los datos de un attachment”

Deja un comentario

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