- Joined
- Dec 5, 2014
- Messages
- 107
- Likes
- 108
- Degree
- 1
ACF is the only reason I made the switch to Gutenberg. As you mentioned, I tried wading through the horrendous documentation for creating custom blocks. It sucked. Then I finally learned about ACF's custom block feature (only available in beta right now IIRC) and it was a godsend.
I was already doing something similar with ACF in the past for client sites. Essentially, I had a Flexible Content field with different layouts corresponding to different design elements. The template loops through the flexible content field rows, checks the layout id, and includes the corresponding PHP file (which has all the HTML and get_sub_field() calls compartmentalized). It keeps it so the client can edit the content and move stuff around without running the risk of breaking any HTML.
Custom blocks are essentially the same thing, and they also make it easy to include simple things like a paragraph or an image in between the more complex design elements. I agree though, the Gutenberg column layouts are atrocious. As far as I'm concerned, anything that needs a column layout is going in a custom ACF block with all the bootstrap grid CSS already baked in.
I was already doing something similar with ACF in the past for client sites. Essentially, I had a Flexible Content field with different layouts corresponding to different design elements. The template loops through the flexible content field rows, checks the layout id, and includes the corresponding PHP file (which has all the HTML and get_sub_field() calls compartmentalized). It keeps it so the client can edit the content and move stuff around without running the risk of breaking any HTML.
Custom blocks are essentially the same thing, and they also make it easy to include simple things like a paragraph or an image in between the more complex design elements. I agree though, the Gutenberg column layouts are atrocious. As far as I'm concerned, anything that needs a column layout is going in a custom ACF block with all the bootstrap grid CSS already baked in.