Desarrollo web

Breve introducción a Advanced Custom Fields

Desarrollo Web 9 min. de lectura

Una de nuestras máximas a la hora de buscar soluciones digitales es la de facilitar dichas soluciones hacia nuestros colaboradores. En muchas ocasiones esto significa a su vez, el facilitar el desarrollo y la lógica que hay detrás de nuestras ideas, optimizando nuestro trabajo, ¿Cómo se logra todo esto? A través de plugins que se han convertido en fundamentales dentro de ciertas labores.

Interfaz en WordPress con el Plugin 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

Plugin Advanced Custom Fields.

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

Grupo de campos ACF.

Grupo de campos ACF.

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 título identificador de nuestro grupo.
  • Los campos a utilizar dentro de la implementación.
  • El destino o condiciones de destino en donde será visible dicho campo. Estos pueden definirse por una página especifica, una plantilla, un tipo de post, un tipo de taxonomía, una página de opciones, etc. En cuanto a las condiciones, estas se rigen si es que se desea mostrar en más de una página o plantilla, siguiendo ciertas reglas condicionales acordes a los destinos anteriores. Es decir, es posible mostrar un “Grupo de campos” a las páginas que cumplan un determinado requisito Y/O cumplan con otro definido.
  • Configuraciones, en donde se podrán establecer aspectos visuales, como si está activo o no, la posición (antes o después del contenido nativo de una plantilla), el orden, la posibilidad de añadir una descripción, y la opción de ocultar o no ciertos módulos nativos de wordpress.

El campo

Interfaz de campo ACF.

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:

  • El label del campo, encargado de indicar el nombre de referencia del campo.
  • El nombre del campo, encargado de indicar la denominación específica, la que será utilizada en nuestro back end para llamar dicho valor asignado.
  • El tipo de campo, en donde podremos seleccionar una infinidad de tipos e incluso el tipo de valor a guardar dentro de él.
  • Instrucciones, donde podremos añadir una descripción o referencia acerca del campo en cuestión
  • Indicar si el campo es obligatorio o no, señalando al usuario si dicho campo debe poseer un valor al momento de configurar el grupo de campos
  • Valor por defecto, en donde podremos establecer si dicho campo tendrá un valor preestablecido.
  • Lógicas condicionales, el cual nos permitirá indicar reglas y condiciones para mostrar nuestro campo en la interfaz.
  • Atributos, desde donde podremos definir aspectos visuales, mediante el ancho del campo, y añadir clases o un ID si fuese necesario.

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.

Acerca del Autor

Nicolás Ayancán - Desarrollador

Desarrollador back y front end

Soy un desarrollador web en constante aprendizaje. Mis conocimientos en diseño y programación me dan un amplio espectro a la hora de abordar diferentes soluciones a problemáticas presentadas por nuestros clientes. Me mantengo con la mente despierta frente a nuevos desafíos.

Agregar un comentario