I have to say I am frustrated with WordPress right now. The Gutenberg updates promised an easy way to create consistent designs quickly without code. At least it seemed like that was the case.
If you are using WordPress most likely you have already started using the core feature of Gutenberg, blocks. Blocks are basic design elements like images or buttons that we can mix and match to create page layouts.
The core is great but the issue comes in when you start trying to use the ‘reusable’ blocks. Reusable sounds great – I mean, who wouldn’t want to be able to create design elements and use them across their site? So where did WordPress go wrong? They defined reusable as creating an exact replica of a block. For example, if I create a block to show addresses on my site, I can reuse across the site but I can’t change the actual address unless I convert it to a regular block.
What’s wrong with that you ask? Imagine this scenario – I have 25 different addresses on my site that I need to be able to place on multiple sections. If I take the reusable block and convert it to a regular block for every one of those addresses, I can keep the formating the same which is one of the major issues you experience when working on teams or large sites.
Now imagine that 6 months down the road I need to make the name portion of the header bigger. I go back to my reusable block and make the edit. The edit only appears on the blocks that I have not converted (so only on the blocks with the original address). Every other block will appear in the old format. I will literally have to go to every page they appear on and update the design.
I can’t for the life of me understand what the WordPress team was thinking when they took this approach. I have been a designer and developer for over ten years and I have rarely had a need to replicate exact content and design and if I do I can easily create a function to do this.
What I have encountered over and over again was the need to have reusable components that keep their format but allow for content changes. Not having this causes inconsistent design, requires non-coders to try to code, slows down development and causes issues when it comes to updating styles across a site.
So now we are left trying to figure out a solution to this issue. Is it something we can control by putting classes on our reusable blocks? Do we need to start creating our own pattern library plugins? Not sure but every time I see the word reusable when using WordPress now I feel a little disappointment thinking about what could have been.
If you’ve found a solution to this issue please let us know!