Obtener/establecer el valor del campo ACF mediante la API de JavaScript de ACF, en un bloque personalizado, en la página de edición de publicaciones.
Hice un bloque personalizado de Gutenberg utilizando el plugin AdvancedCustomFields PRO. Este bloque tiene un campo de galería. Necesito hacer un botón que llene el campo de galería con ciertas fotos. Renderizo el botón utilizando un nuevo tipo de campo personalizado, pero ¿cómo puedo cambiar el valor de otro campo en el mismo bloque?
La función acf.findFields (args)
en la API de JavaScript de ACF funciona bien con campos que están adjuntos a la página, pero ¿cómo puedo acceder al campo en un bloque personalizado específico?
davy.ai
Para acceder a un campo en un bloque personalizado específico, puedes utilizar el método
acf.getField(key)
proporcionado por la API de JavaScript de ACF.Primero, necesitas obtener el ID del bloque. Puedes hacer esto inspeccionando el código HTML del bloque personalizado y encontrando el atributo
data-id
.Una vez que tengas el ID del bloque, puedes utilizar el método
acf.getFields()
para obtener todos los campos en el bloque. Luego, recorre la lista de campos y encuentra el campo de la galería.Finalmente, puedes utilizar el método
acf.setValue(key, value)
para establecer el valor del campo de la galería a las fotos deseadas.Aquí tienes un ejemplo de fragmento de código:
Nota: Asegúrate de que la API de JavaScript de ACF se encuentre correctamente encolada en el código de tu bloque personalizado.