Support

Account

Home Forums Gutenberg Convert Gutenberg paragraph block to ACF-registered textarea block Reply To: Convert Gutenberg paragraph block to ACF-registered textarea block

  • Sooo, i finally managed to found a way of achieve this.

    First, you need to modify the way you register the block in ACF.
    You’ll have to add “transform” in your acf_register_block() call
    (All the needed code is in the Gist)

    Then, the PHP will pass your transformers “transform” method as a string, not a callable function, so we need to convert it.

    https://developer.wordpress.org/block-editor/developers/block-api/block-registration/#transforms-optional

    For that i use javascript
    (You’ll need to load a javascript file in the backend, and compile the ES6 if you want to write ES6 as in my code sample, but it’s not the point)

    So in Javascript, first thing : I prepare a global object with my transformers method (same name as in the PHP), and in the hook, -I look for my ACF block with transforms informations, and convert the string into the function with the same name.

    Then, in my transformer function, I receive an object with the string content, and there it is the ugliest part, (I don’t find any solution to pass content directly to the createBlock method for ACF block, maybe ACF can tell us?)
    I use a setInterval to wait the ACF block is loaded in the DOM and I put the content into my field.

    You can find all the code here:
    https://gist.github.com/jeremypetrequin/672807361fa6919d597cdbb20b0f67ac

    SO: I know it’s an ugly and hacky way to achieve this, but I didn’t find any other way (except rebuild my Block without ACF but it wasn’t an option) and it seem’s to work.. I imagine for people who know better the ACF & Gutenberg API than me there are some other and better ways to do..