Vídeotutorial donde vamos a aprender a ocultar un campo personalizado de tipo ACF cuando éste campo no tenga ningún valor:
Resumen del vídeo
Cuando montáis plantillas dinámicas con Elementor Pro y Advanced Custom Fields (ACF), es muy habitual que algunos campos no estén rellenados en todos los registros. El resultado es un hueco en blanco o un icono con una etiqueta sin dato, algo que queda feo. Aquí vemos cómo ocultar elementos en Elementor según campos de ACF, probando tres plugins distintos sobre un caso real y contando sin filtros qué funcionó y qué no.
El escenario de trabajo
- WordPress como base.
- Elementor Pro, necesario para crear plantillas individuales en el Theme Builder para tipos de contenido personalizados.
- Custom Post Type UI (gratuito) para crear un tipo de contenido «Personas».
- Advanced Custom Fields con un grupo de campos (nombre, apellidos, NIF, correo, teléfono) asignado al tipo de post Personas.
En la plantilla individual se añade una columna con un cuadro de icono «Identificación» que muestra el campo NIF mediante una etiqueta dinámica de ACF. El objetivo: que, si una persona no tiene NIF, desaparezca la columna entera. Para probarlo hay que quitar el carácter obligatorio del campo en ACF y crear una persona sin NIF.
Opción 1: Dynamic Conditions (gratuito)
Tras instalarlo, aparece en la pestaña Avanzado de columnas y widgets un apartado de condiciones dinámicas. Se elige como etiqueta un campo de ACF, se selecciona el campo NIF y se indica ocultar cuando esté vacío. Funcionó a la primera y oculta la columna completa.
La pega: en el momento de grabar llevaba nueve meses sin actualizarse y había muchas consultas sin respuesta en el foro de soporte. Aunque tenía más de 40.000 instalaciones activas, para un proyecto importante de un cliente eso no da seguridad. Siempre conviene revisar la fecha de la última actualización y la actividad del soporte en wordpress.org.
Opción 2: Visibility Logic for Elementor
La versión gratuita se queda corta; las condiciones dinámicas están en la Pro, con un precio anual asequible. Este plugin trabaja a nivel de widget, no de columna. La condición de ACF «vacío» no se comportó como se esperaba, pero sí funcionó una alternativa: usar las condiciones de post, filtrar por el tipo de post Personas y comprobar que el campo meta nif esté vacío (ACF guarda sus valores como metadatos del post). Además, conviene elegir que el elemento no se renderice en lugar de ocultarlo por CSS con display: none, que deja HTML innecesario en la página. Al no actuar sobre la columna, el resto de columnas no se recolocaba.
Opción 3: Ultimate Addons for Elementor
Este paquete de pago incluye Display Conditions en la pestaña Avanzado. Permite ocultar un elemento según el valor de un campo de ACF, pero no ofrece la opción «está vacío»: funciona si comparáis con un valor concreto (por ejemplo, «1234»), pero no para detectar campos en blanco.
Conclusión
Para ocultar elementos en Elementor según ACF, Dynamic Conditions fue el que mejor resolvió el caso, aunque su falta de mantenimiento obliga a valorar alternativas. Visibility Logic es una opción mantenida si aceptáis trabajar a nivel de widget y usar condiciones de metadatos. Probad siempre en un entorno de pruebas y con datos reales en la vista previa de la plantilla.