Я везде искал, чтобы понять, как добавить событие в блок Гутенберга. Я работаю над добавлением аккордеонной системы с помощью ACF и Foundation. Я создал блок, поля и шаблон с помощью ACF. Я бы хотел, чтобы мои пользователи могли открывать и закрывать аккордеон в визуальном режиме.
Я нашел следующий сценарий, который отслеживает изменение блоков. Единственная проблема в том, что он срабатывает до того, как все будет загружено, и мне пришлось использовать тайм-аут, чтобы блоки могли полностью загрузиться. Я не смог найти лучшего способа добиться этого. Какие-либо предложения?
const getBlockList = () => wp.data.select( 'core/editor' ).getBlocks();
let blockList = getBlockList();
wp.data.subscribe(() => {
const newBlockList = getBlockList();
const blockListChanged = newBlockList !== blockList;
blockList = newBlockList;
if ( blockListChanged ) {
setTimeout(function(){
jQuery(document).foundation();
Foundation.reInit($('[data-accordion]'));
}, 4000);
}
});