Ich habe überall gesucht, um herauszufinden, wie man ein Ereignis in einen Gutenberg-Block einfügt. Ich arbeite daran, ein Akkordeonsystem mit ACF und Foundation hinzuzufügen. Ich habe einen Block und Felder und eine Vorlage mit ACF erstellt. Ich möchte, dass meine Benutzer das Akkordeon im visuellen Modus öffnen und schließen können.
Ich habe das folgende Skript gefunden, das überwacht, wenn Blöcke geändert werden. Das einzige Problem ist, dass es ausgelöst wird, bevor alles geladen ist, und ich musste ein Timeout verwenden, damit die Blöcke vollständig geladen werden können. Ich konnte keinen besseren Weg finden, dies zu erreichen. Irgendwelche Vorschläge?
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);
}
});
Dies beantwortet Ihre Frage nicht, aber zur Überlegung können Sie mit der Block-API problemlos Akkordeonblöcke erstellen, ohne AFC zu verwenden. React verfügt über integrierte Onclick-Funktionen. Die Block-API kann ACF vollständig ersetzen, um eine bessere Benutzererfahrung zu erzielen
– CyberJunkie
9. Januar 2019 um 5:23 Uhr