WordPress/acf гутенберг блоки. Как при обновлении свойств переинициализировать джаваскрипт?
Вот у меня, например, есть карусель, я хочу ее перезапустить каждый раз когда изменяютя даные.
Есть ли какой-нибудь хук\колбэк?
Я вроде нашел подходящий render_block_preview на самом сайте ACF, но он был только в примерах.
Какой-то доки по нему я не нашел.
import LazyLoad from "vanilla-lazyload";
window.addEventListener("load" , ()=>{
if( window.acf ) {
window.acf.addAction( 'render_block_preview/type=intro-banner-section', ($block)=>{
console.log("rendered");
});
console.log(window.acf);
}
let pictures = new LazyLoad({
elements_selector: ".lazy-load",
});
});
intro_block.php
class IntroBannerSectionBlock {
use Singleton;
public function __construct()
{
acf_register_block_type(array(
'type' => 'intro-banner-section',
'name' => 'intro-banner-section',
'title' => __('Intro banner section' , 'demo'),
'render_callback' => [$this , "render_callback"],
'category' => 'formatting',
'icon' => 'admin-comments',
'keywords' => array( 'reviews', 'quote' , 'testimonial' ),
'enqueue_assets' => [$this, 'enqueue_assets']
));
}
public function render_callback()
{
require_once "template.php";
}
public function enqueue_assets()
{
wp_enqueue_script("intro-banner-js" , get_template_directory_uri() . "/assets/js/intro_banner.js" , array() , "0.0.1");
}
}
P.S. У меня каждый блок - это класс с синглтоном.
В другом классе я проверяю, подключен ли ACF и если да, то "инициализирую" блоки. Так что дело не в этом.