WordPress trae una forma de almacenar la información peculiar, a base de metadatos. Traigo en este post el cómo empezar a usar estos Campos Personalizados, y una breve review de otra joya del software para WP, el Advanced Custom Fields, que amplía esta funcionalidad.
La mayoría de los items de información dentro de la base de datos de WordPress, se almacenan en unas pocas tablas.. la de los posts, comentarios, términos y usuarios. Cada una de estas tablas, tiene unas tablas anexas para los metadatos relacionados con cada elemento. Los posts tienen por ejemplo la tabla _posts y _postmeta.
Inicialmente, muchos de estos metadatos son los que vienen preconfigurados con WordPress para almacenar la información de cada elemento. Estos pueden ser información como información de un fichero adjunto, el autor de un post, la URL, etcétera..
Pero con estos campos personalizados podemos definir todos los campos que queramos, para así poder gestionar todo tipo de fichas. Así podremos convertir nuestro WordPress en un gestor de los que queramos.
Configurando campos personalizados con WordPress de casa
Estos metadatos se pueden configurar sin instalar ningún plugin usando lo que disponemos en WordPress. Simplemente hay que activar la sección de Campos Personalizados y usarlos en el backend.
Para activarlos con las últimas versiones de WP, hay que ir a la sección que se muestra en la imagen anterior, activar la casilla guardando y recargando mientras que editamos un post. Entonces aparecerán debajo en la edición de los posts como en la imagen siguiente:
Una vez almacenados, podremos ya usar estos campos personalizados en el frontend. Podremos buscar información en función a estos, mostrar estos metadatos en la vista de cada post, o en los listados, filtrar, etc.. Unas funciones que nos pueden ayudar al programar pueden ser get_post_custom() y get_post_meta().
Un paso más con Custom Advanced Fields, ACF para los amigos
Esta joya del software que todo desarrollador debería de conocer, amplia y mejora el uso de estos Campos Personalizados, haciéndolos mucho más potentes y fáciles de usar.
Para instalarlo no habría más que ir al gestor de plugins, buscarlo, darle a instalar y activar. Se nos añadirá una sección en el lateral izquierdo en donde podremos añadir Campos Personalizados no sólo a los posts, si no también a las categorías, a los posts, páginas, usuarios, etcétera..
Principales características de ACF
Trabajando sobre el sistema básico de Campos Personalizados de WP, ACF añade una tonelada de funcionalidades. Proporciona un panel de control muy intuitivo con el que elegir entre muchos tipos de campos, formateándolos, mostrando en los formularios de edición los inputs acordes con el tipo de campo.
Permite elegir a qué elementos de tipo post, categoría, usuario.. incluso para Custom Types creados por nosotros. Permite también el uso de imágenes gestionando su subida desde el backend, colores, fechas, y un muy largo etcétera..
Me asombra la cantidad de personalizaciones que se pueden aplicar a base de clicks en el backend. Que luego se pueden usar para programar en el frontend mientras que desarrollamos en una plantilla usando las clásicas funciones get_field() y update_field().
Terminando
Para terminar sólo me queda remitirte a la página del plugin:
https://wordpress.org/plugins/advanced-custom-fields/
Y decir que la documentación oficial del plugin no tiene desperdicio, se pueden usar estos campos en las WP_Query, hacer consultar a los metadatos, etc.. y un poco más. Recapitulando, ACF es toda una joya en la programación para WordPress.