Campos personalizados con WordPress

WordPress incluye una opción muy interesante llamada campos personalizados, que permite guardar información del tipo clave -> valor para cada una de las entradas. Es como si agregáramos columnas personalizadas a las tablas de las entradas en la base de datos.

Un ejemplo práctico de su uso puede ser si tenemos un sitio web en WordPress donde hacemos reviews de libros. Con los campos personalizados podemos agregarle características a cada entrada como título, autor, editorial, fecha de edición, ISBN y demás propiedades que tiene un libro. Es decir que manejamos la entrada como un registro de la base de datos.

Lo mejor, es que los campos que agregamos en una entrada ya nos aparecen opcionalmente para el resto. Es decir que los campos personalizados los creamos una sola vez y luego simplemente los buscamos y actualizamos. Cada entrada puede utilizar todos los campos creados, algunos, o ninguno. Así, por ejemplo, si un libro no tiene fecha de edición, no hay necesidad de ponerle un valor a ese campo.

Cómo agregar un campo personalizado

En la pantalla de Entradas de WordPress vamos a Añadir nueva. Allí tenemos todas las herramientas de edición. Arriba, a la derecha está la opción Opciones de pantalla. Al hacer click ahí, se despliegan unos checkbox, buscamos Campos Personalizados y lo tildamos. Eso hará que aparezcan en la página de edición.

campos-personalizados-visualizar

El recuadro de Campos Personalizados aparece debajo de la ventana de edición donde se escribe la entrada.

campos-personalizados

Si hacemos click en Nuevo, podemos ingresar una clave y un valor, como si fuera un array asociativo de PHP. Con Añadir un campo personalizado lo confirmamos. Si queremos añadir más de un valor para una misma clave, añadimos un nuevo campo, seleccionamos nuevamente la clave y le agregamos otro valor. Esto no pisará el valor que hayamos definido primero, sino que armará un array. Esto lo podemos repetir cuantas veces queramos.

De esta manera, podemos agregar todos los campos que necesitemos. Cuando vayamos a crear una nueva entrada, esas claves estarán ya preestablecidas para el caso en que queramos asignarle valores. Sólo deberemos ir al combo box en el recuadro y buscarlas

Si encontramos otros campos personalizados, estos pueden ser usados por plugins así que es conveniente no tocarlos, salvo que sepamos lo que estamos haciendo.

Incluir los campos personalizados en el código

Ahora, vamos a ver cómo hacer uso de los campos personalizados en el código PHP. En el siguiente ejemplo, los campos son titulo, autores, calificacion y year. Cada uno tiene un único valor de clave a excepción de autores, que tiene varios.

Como ven, trabajamos dentro del loop de WordPress. Primero, obtenemos los campos con instrucciones como esta:

get_post_meta es la función que nos permite traer el valor del campo. El primer parámetro es la id de la entrada, el segundo es el nombre del campo (la clave) y el tercer parámetro booleano si es true hace que la función devuelva un único string. Si es false, hace que devuelva un array. Por lo tanto, si sabemos que el campo personalizado tiene un único valor, usamos true y si sabemos que le agregamos más de uno, false. En este ejemplo, como ya dijimos, autores tiene varios valores así que usamos false y para el resto, true.

Luego, cuando queremos escribir el valor del campo, lo hacemos como acostumbramos con la función echo de PHP

Esa línea del código anterior imprime el valor del campo título y entre paréntesis el valor del campo year.

Para el campo autores, usamos un for para imprimir todos los valores uno detrás de otro separados por un &. Este símbolo se imprime a continuación de cada elemento del array a excepción del último.

Conclusiones

Los campos personalizados de WordPress nos dan la posibilidad de guardar datos junto con las entradas. De esta forma, podemos usar al CMS como una base de datos. Podemos guardar inventarios de libros, películas, artículos, equipos de fútbol, animales, plantas, monedas… ¡lo que quieran!

El uso es bastante sencillo y no requiere conocimientos avanzados de programación. Apenas un poco de PHP basta para poder traer y mostrar los campos.

Espero que les haya sido de utilidad.

¡Hasta la próxima!

 

Soy programador web y me desempeño como Líder Técnico en Polar Bear Development. Trabajo con tecnologías como PHP, Javascript, MySQL y HTML5 para el desarrollo de sitios y sistemas web. Me especializo en Zend Framework 2 y otros frameworks MVC, como también en WordPress y otros CMS. Lidero equipos de desarrolladores trabajando con Scrum. Vivo en Buenos Aires, Argentina.
 

Deja un comentario

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


*