Guía sobre WordPress term meta

El lanzamiento de la versión de WordPress 4.4 está previsto para el próximo 8 de diciembre. Trae consigo muchas novedades entre las que se encuentran la REST API, las imágenes responsive, el nuevo tema twentysixteen…y (por fin) los termmeta!

¿Por qué digo que por fin? La funcionalidad de poder enriquecer los terms de WordPress con metadatos es algo que se espera desde hace mucho tiempo, de hecho el ticket original para esta petición se abrió hace 6 años. Y por fin, se incluye en la nueva versión.

No obstante, cierto es que podíamos suplir esta carencia con el uso de plugins (yo personalmente utilizaba Advanced Custom Fields), pero que a partir de ahora esté incluido en el core de WordPress es una gran noticia para los desarrolladores de temas y plugins.

 

¿Qué es termmeta?

Los terms son los elementos pertenecientes a una taxonomía. ¿Y que es una taxonomía? Una taxonomía es un sistema para categorizar o clasificar los posts (o post-type). Por defecto WordPress incluye dos taxonomías para los posts: Categorías y Etiquetas. Y los elementos de cada taxonomía son los terms.

Tras esta breve introducción, podemos entender que termmeta es toda la información adicional que podemos agregar a un term determinado. Actualmente tenemos esta misma funcionalidad para los posts, con los postmeta, donde podemos agregar información adicional al post. Y también para los usuarios: users y usermeta, y para los comentarios: comments y commentmeta.

Ahora quizá se entienda un poco más el ¡por fin! Hasta ahora podíamos extender campos personalizados a posts, usuarios y comentarios, pero no para los terms, excepto si usábamos algún plugin.

 

En la vida real, ¿para qué nos pueden ser útil los termmeta?

La meta información de la manera que está planteada en WordPress, te permite agregar cualquier dato adicional a un objeto determinado. Es decir, guardaremos en la base de datos un par clave/valor relacionado con el ID de un objeto concreto.

De ésta manera no tienes límite a la hora de agregar información extra en función de tus necesidades. A continuación sólo una pequeña muestra de algunas ideas que nos pueden ser útiles para dotar a nuestros terms de información adicional:

  • Imagen destacada
  • Icono
  • Color
  • Campos para hacer SEO personalizado
  • Asignar templates específicos para categorías determinadas
  • Asignar un orden
  • Marcar un term como privado

 

¿Cómo usar termmeta?

WordPress incluye nuevas funciones para el tratamiento (añadir, modificar, obtener y borrar) de los termmeta. Si estás familiarizado con los post, comment o user meta, te resultará muy fácil entenderlas. Estas nuevas funciones son: add_term_meta(), update_term_meta(), delete_term_meta() y get_term_meta().

Vamos a ver con un ejemplo práctico cómo añadir a las categorías una imagen destacada, y 3 campos adicionales para realizar un SEO personalizado. El primer paso es añadir los nuevos campos al formulario de añadir y editar categorías. Para ello tenemos dos hooks:

  • {$taxonomy}_add_form_fields, para el formulario de añadir nuevo
  • {$taxonomy}_edit_form_fields, para el formulario de editar

 

En nuestro ejemplo, vamos a añadirlos a la taxonomía Category. Los formularios de añadir nueva taxonomía y editar taxonomía poseen diferente estructura HTML, por lo tanto tenemos que dividir en dos funciones la carga de nuestros nuevos campos. Añadiremos en nuestro functions.php:

Ahora vamos a enlazar el botón de añadir imagen destacada para la categoría con la librería multimedia. Agregaremos en nuestro functions.php:

Como se puede ver, hemos incluido el archivo custom-fields.js en nuestro admin. Dentro de este archivo enlazamos nuestro botón de subir imagen con la librería multimedia:

Por último falta salvar los metadatos cuando añadamos o editemos una categoría. Para esta acción usaremos los hooks create_{$taxonomy} y edit_{$taxonomy}. Afortunadamente en esta ocasión nos servirá la misma función:

Con esto ya tenemos la funcionalidad completa para agregar campos adicionales a nuestras categorías. Vamos ahora a ir un poco más allá, y añadiremos al listado de categorías la imagen destacada que hemos adjuntado, para ver de un vistazo las imágenes que vayamos asociando a cada categoría. Añadiremos a nuestro functions.php:

campos personalizados categorias

Esto sólo es un ejemplo de cómo enriquecer una taxonomía concreta mediante el uso de metadatos. Después en nuestro front podremos recuperar esta información y usarla para dar formato, destacar o añadir información adicional a nuestras categorías.

Si te ha gustado, valora este artículo para mejorar la calidad del blog o compártelo en Redes Sociales…
1 Star2 Stars3 Stars4 Stars5 Stars (1 votos, valoración 5,00 sobre 5) Loading...

Web Hosting