24 Comments

  1. Rob Stinson

    Birgit, thanks so much for taking the time to review Block Lab and put this article together!
    Glad the docs on changing the template path were helpful for you. Quite a few people ask about this so it’s something we’re looking at adding as an in-admin option in the block builder screen.
    In-admin templating is also on our radar for this year as well.
    Thanks again. Love your work! :D

    Report

  2. David McCan

    Thanks for the walk-throughs. The ACF version clicks for me.

    I’ve seen people mention that you could already create PHP blocks in core, but I haven’t seen any examples or walk-throughs of that. Does it exist?

    Report

  3. Nick

    At some point I’ve tried all 3 solutions, and settled for ACF for many reasons. There are some very important details missing from this post that many might find helpful. While ACF does not yet support inner blocks, so building sections, containers, columns etc…, are challenging, as a field you can use the whole TinyMCE editor (classic editor), and that’s how I build my sections and containers. Last time I checked, Lazy Blocks has a field to have inner blocks, but does not have the ability to use the classic editor. The classic editor at this point can be very useful as it has the toolbar to generate shortcodes from themes and plugins.

    The most important thing though is that ACF has tons of development documentation, tutorials, and videos all over the internet, and the ability to create layouts not just for the front end, but the backend that looks like a professional block, and not a sloppy, cheap looking block, which is 99% of the cases found today. You can accomplish excellent backsite design results because ACF has the ability to go from edit to preview modes, either manually or automatically, and have the option to organize your fields with Tabs, Accordions, and columns with variable widths.

    However, the biggest plus for ACF is the developer – Elliot Condon. I dealt with him numerous times in the past months, reporting bugs and suggestions to him, and he was always polite, answered in a timely manner, very accommodating, despite the fact that he only recently got married and had a child just a few weeks ago… His pricing, and licensing conditions of the Pro plugin, are one of the most fair and generous deals one can find in the marketplace, and that’s the cherry on the cake…

    Handlebars (used within Lazy Blocks), is easier to learn and use that php, but at the same time, very limited, if you want to create some complex blocks.

    Any of those solutions beats making blocks with React and Javascript, and you don’t have to worry about a million new things to learn and deal with, and when making changes to existing blocks, deprecating things… life is too short !!!

    Report

    • David Dashifen Kees

      RE: PHP vs. Twig, I’ve used Twig within ACF blocks, often in conjunction with the Timber plugin. The PHP file that is used to display the block just needs to gather the data for the Twig template and then render it. It adds a bit more complexity (and two files, a PHP and a Twig, per block) but as Twig is pretty easy for folx to mess with, it’s been a good solution for me.

      Report

  4. Munir Kamal

    Great review of all 3 tools. ACF for me clicked because of the credibility of ACF framework as a plugin. And also it’s most intuitive among other tools. It is has huge UI controls already built to make the Block building much easier. It has a lifetime license which is a huge plus. I’ve already built a plugin on top of it acfblocks.com, which could be a great source of ACFBlocks examples for developers getting started with ACF.

    Report

  5. David Decker

    I think that all three solutions have their place, and it is important to have various alternatives available. “Competition” is also essential and always a good thing for the end user.

    One thing I wanted to add, ACF is also the product of a single-person developer, as is Lazy Blocks. So technically, ACF can also go out of business. Only Block Lab is developed by a team.

    Though, I fully agree that it makes not much sense to hide your name/personality when you are releasing such stuff. Fair enough, there might still be reasons I am not aware of, sure, but I can only but recommend to be bold and also stand with your name and personality behind your product, even if it is a free plugin you are doing. I speak from my experience since 2011 (when I started with plugins) and I have only made good experiences. It helps people to better make “the digital handshake” and have more confidence in what you are doing. And ACF is the best example for that on a bigger scale :-)

    Whith that all said, I already integrated all of these 3 solutions into my Toolbar Extras plugin as well, so you get quick jump links from the Toolbar to the various settings and post type admin pages etc. Can help in day to day work.

    Report

  6. Bastian

    All these plugins are nice, but as far as I know they don’t have the option to export created blocks as PHP/JS code so they can be used without the plugin. Something like generatewp.com but for blocks would be really cool.

    Report

  7. Knut Sparhell

    Good article. “What, no react coding?” some will ask.

    The example is however a limited one.

    Mots blocks I have made (with Block Lab, my simple favourite) contains a loop and no data entry, only search and ordering criteria and layout options. Like looping through a custom post type to create a list, a table or flexible boxes with data from the CPT and the custom fields of each.

    Like listing the departments or subsidiaries of a larger company or organisation (address, map, phone, email, link, number of employees etc). Data is maintained in the CPT, how and what to display in the block. That’s powerful. Before: shortcode or page template, now a block with a template that can be combined with other page/post content in any way.

    In Block Lab it’s very easy to change the location of the template to a plugin you make, which is also the right place to store it.

    Report

  8. Stephen Vaughan

    Hi Birgit,

    Can you post the code sample for the ACF content-block-team-member.php file again. It seems to have pasted funny with a number of > characters added. It didn’t render right when I tried it out. My php is patchy as I only delve into it when needs be.

    Much appreciated

    Report

  9. Giang

    Thank you!

    I wonder that can we make Post Grid blocks with these Tools? (Title, Thumbnail, ACF value…)

    Report

  10. Anh Tran

    Great write up, Birgit. Thank you so much for spending time creating the videos and compare these solutions.

    Report

  11. Alex Mangini

    Great roundup! When I found out Gutenberg was going to be JS based I was concerned about the difficulty of using the new APIs to create Blocks based on my past experiences learning the post meta, Customizer, and settings APIs.

    When BlockLab came out I got a huge confidence boost that much of my PHP knowledge could be retained and was able to see just how open Gutenberg was to development.

    Once I got started, I learned very quickly that it is possible to write Blocks with simple JS and that the well-documented WordPress Handbook is the underrated holy grail for Blocks development.

    The custom controls that require so much code to create in the Customizer, settings, and post meta API can be done with a few lines of JS, and without the hassle of data sanitization is a HUGE deal.

    While these plugins make the barrier to entry into Gutenberg development easier, and they have helped me, I would encourage anybody in the business of custom Blocks to give the Blocks JS API a shot and see what is possible on your own; you might be surprised at what you can accomplish!

    Report

  12. Steve Ryan

    Not reviewed here, but certainly a viable PHP-only option for creating a block is Carbon Fields.

    https://docs.carbonfields.net/#/containers/gutenberg-blocks

    A quick comparison:
    – Carbon Fields has no UI within the admin area, which means that the creation of a block is only accomplished via code in a plugin or theme.
    – The creation of the block itself is very easy and follows the same pattern that the rest of the library uses to create meta boxes, widgets, theme options panels, etc.

    I’d love to see the folks at HTML Burger mentioned in the same vicinity as some of the other solutions mentioned above. Their product is comprehensive, easy to use and totally free. :-)

    Report

Comments are closed.

%d bloggers like this: