Blog IDA Chile | Estrategia para el éxito de tu negocio

Breve introducción a Advanced Custom Fields

Uno de nuestros más queridos compañeros a la hora de trabajar sobre sitios desarrollados en WordPress, es alguien de quien no solemos hablar mucho, pero que vaya que se merece al menos dedicarle unas palabras, las cuales podrían incluso ser de gran ayuda para quien esté leyendo este artículo. Hablamos de los Advanced Custom Fields (ACF).

Conociendo los Campos Customizables Avanzados

Advanced Custom Fields, es un plugin de WordPress que permite añadir contenidos extra a nuestros sitios web a través del uso de campos meta. Lo anterior, nos permite enriquecer la información mediante datos estructurados dentro de nuestros posts.

Más allá del archiconocido editor WYSIWYG, y los más recientes bloques de Gutenberg adoptados por WordPress, muchas veces este CMS limita la cantidad, tipología e incluso ubicación que muchas veces podemos manejar dentro de nuestros sitios. 

Es aquí donde ACF hace su trabajo de una manera mucho más dinámica, permitiendo no solo añadir los contenidos típicos de un sitio web: títulos, textos, citas, imágenes, videos, etc. si no que también, nos ayuda a moldearlos a nuestro gusto. Si esto no fuera poco, el plugin hace lo mismo con sus determinados despliegues de acuerdo a la solución propuesta y diseñada, no sin antes mantener un orden lógico y estructurado. De esta forma, se facilita la comprensión de estos a la hora de manejar nuestros campos ACFdentro del desarrollo back end de un sitio.

Cabe destacar que esta variedad de nuevos tipos de contenidos no solo se encuentran sujetas a nuestras páginas o artículos de un sitio. El ACF permite la administración y customización de categorías, taxonomías, post types, usuarios, menús, widgets y páginas de opciones existentes dentro de la plataforma.

Esto significa que, siguiendo una estructura y una lógica determinada para cada tipo de contenido customizable, es posible no sólo ahorrar una extensa cantidad de código, sino que también, la posibilidad de otorgar elasticidad, mantenibilidad y escalabilidad a nuestros proyectos, todo bajo la definición de variable = valor, teniendo un fácil aprendizaje y amoldamiento ante futuros desarrollos o mantenimientos de un proyecto.

Estructura base de los campos ACF

Tal como lo comentamos anteriormente, el uso de los Advanced Custom Fields resulta bastante sencillo, siempre y cuando se considere un orden lógico de los “Grupos de campos” a utilizar dentro de nuestro desarrollo. Los puntos necesarios que debes tener en consideración para un primer aproach al utilizar este plugin son los siguientes:

Grupo de campos

Es el primer término a tener en consideración en nuestras implementaciones, y estos hablan (tal como lo indica su nombre) acerca de la agrupación de campos a utilizar, ya sea en una página, plantilla, tipo de post, etc.

Dentro de un “Grupo de campos” es posible definir:

El campo

Es el motor del Advanced Custom Fields, y es quien le da el nombre de avanzado y customizable al propio nombre. El campo ACF nos permitirá seleccionar el tipo a utilizar de una lista de opciones. Desde aquí (según el tipo de campo), será posible seleccionar el tipo de variable a guardar como valor del mismo.

Dentro de la configuración de cada campo será posible definir opciones como:

Además de estas opciones básicas, existen una gran cantidad de alternativas por tipo de campo, las cuales pueden ser vistas en mayor detalle dentro de la documentación de ACF.

Back end

En el Back end podemos encontrar uno de los mayores beneficios de los Advanced Custom Fields, ya que, solo con llamados de las funciones “get_field” o “the_field” será posible desplegar u obtener el valor guardado en nuestros campos ACF.

get_field

Esta función permite obtener el valor almacenado en el campo especificado. Especificación que se hace mediante los parámetros de nombre del campo y el ID del post o la página a la que estamos haciendo referencia. Es decir, si queremos obtener el valor de nuestro campo Bajada debemos llamarlo de utilizando el nombre bajada_page y el ID de la página en cuestión:

<?php $bajada = get_field('bajada_page', $post->ID); ?>

Esto nos permitirá obtener el valor del campo para luego ser almacenado dentro de una variable PHP, consultar el valor en el caso de una condición, o bien imprimir el valor adjuntando a la función echo de PHP.

the_field:

Para el caso de esta función, su utilización más común es para imprimir directamente en nuestro código el valor que deseamos obtener. Tal como lo hicimos con la función anterior, solo es necesario indicar el nombre del campo y el ID de la página de referencia para imprimir dicho valor:

<?php the_field('bajada_page', $post->ID); ?>

Esta función nos dará como resultado la impresión directa del valor asignado dentro de nuestro back end, entendiendo que dicha función pasaría a ser el sinónimo del llamado de código echo get_field(‘bajada_page’, $post->ID).

Raya para la suma

El plugin Advanced Custom Fields nos permite añadir una mayor profundidad a los desarrollos realizados dentro de nuestros proyecto. Además, permite un rápido aprendizaje del mismo tanto a la hora de administrar contenidos, como desarrollar soluciones mediante su ayuda.

ACFs beneficia tanto a administradores o periodistas encargados del contenido de un sitio, así como también a quienes desarrollamos para dichas páginas. A los primeros, otorgando una interfaz fluida e intuitiva para manejar los diferentes contenidos, su orden y tipo de contenido. Por su parte, a los desarrolladores les permite una visualización dinámica y estructurada de los contenidos, además del tipo de variables a manejar, teniendo así un control absoluto de dichos contenidos a la hora de ser desplegados dentro de las diferentes páginas de nuestros sitios web.

Advanced Custom Fields posee una versión gratuita de descarga, así como también una versión pagada del mismo. Si bien, esta última posee un abanico un tanto más extenso de tipos de campos y posibles destinos de los mismos, su contraparte gratuita no deja de otorgar las aptitudes descritas dentro de nuestro artículo. Por lo que, si se tiene la posibilidad y por sobre todo la necesidad de una solución de esta naturaleza no existen impedimentos para probarla. No por nada ACF parece ser un miembro más dentro del equipo de desarrollo de IDA.