Estoy registrando un bloque personalizado con ACF (acf_register_block_type) con un archivo JavaScript separado. En la plantilla php tengo algunos datos ACF. ¿Es posible enviar esos datos al JavaScript? Hay varias instancias del mismo bloque en una página y los datos de ACF son únicos para cada instancia. No estoy seguro de cómo funciona eso, porque el JavaScript para bloque solo se carga una vez. Necesito alguna idea básica para esto. Los datos ACF en el archivo de plantilla son bastantes, por lo que no podría usar simplemente el atributo de datos.
acf_register_block_type(array( 'name' => 'testimonial', 'title' => __('Testimonial'), 'description' => __('A custom testimonial block.'), 'render_template' => get_template_directory() . '/template-parts/blocks/testimonial/testimonial.php', 'enqueue_script' => get_template_directory_uri() . '/template-parts/blocks/testimonial/testimonial.js', ));Estoy usando este ejemplo anterior. Entonces, en este caso, estoy tratando de enviar datos de testimonial.php a testimonial.js
En WordPress, la función de PHP localize_script() se usa para pasar datos de PHP a JavaScript, lo que podría funcionar para su escenario, por ejemplo:
<?php function testimonial_enqueue_scripts() { wp_enqueue_script('testimonial-script', get_template_directory_uri() . '/template-parts/blocks/testimonial/testimonial.js'); wp_localize_script('testimonial-script', 'acf_vars', array( 'data' => 'value to send to javascript' )); } add_action('wp_enqueue_scripts', 'testimonial_enqueue_scripts'); ?> En su JavaScript, se puede acceder a los datos como acf_vars.data