Member preview

Gutenberg: from the drama to the real life

Ahhh, the good old times! — Photo by Mr Cup / Fabien Barral on Unsplash

For a seasoned WordPress developer, the new WordPress editor is a breakthrough in the regular workflow of building a website to a client.

WordPress is a very powerful framework, very extensible through themes and plugins, custom post types, custom fields, hooks and several other APIs… and it brings to the table a clean turn-key dashboard (the admin) very easy to use by our clients. As a web developer it is a luxury to not have to worry about the dashboard of a website. A major plus of WordPress.

I’ve been actively developing websites using WordPress since 2012. By then, as a junior WordPress developer I was still finding my way around some concepts: Should I use a custom post type or just drop all the content as posts with different categories? How to organise the taxonomies (tags vs categories) ?

Then I learnt about custom fields, but to add a fancy metabox on the admin screen of a post it was too complex for my PHP skills at the time. Thank god the ACF plugin saved me.

Fast forwarding, and with every new client project pushing my knowledge boundaries, I eventually became very seasoned with WordPress at a point I feel like I’m able to build anything with it. I once told everything is possible with WordPress (link in Portuguese). I still believe in this. And I am as confident with it as I am bored at the same time with the loop.

Nowadays, a regular WordPress website delivered by my agency will have a theme developed from scratch (no frameworks or starter themes are used), a custom made plugin to register the custom content: the custom post types, the taxonomies and the custom fields; the CMB2 plugin to present the metaboxes in the admin, the Shortcake (shortcode UI) plugin as a simple page builder and the Polylang to enable the multilingual feature if needed.

Gutenberg: the new drama

A new editing experience is coming to the admin of the WordPress. It is a major breakthrough to the WordPress ecosystem which means nothing will stay as before.

For a WordPress developer, the Gutenberg editor means the need to learn and master something new, and it brings new challenges to a website project:

Extra time. Instead of just worrying with the frontend’s templates, we’ll need to put much more thought at the backend’s development than before. This is far more demanding than adding some metaboxes to the post editor screen. To create Gutenberg blocks we’ll spend time crafting good editing experiences (yes, CSS and JS needed) at the same time of worrying about the frontend.

A new language. The Gutenberg core is Javascript all the way. With the Javascript comes more complexity: NPM, Webpack, babel, …and all kind of JS fatigue and modulifys. I believe it will be hard for the majority of WordPress developers to master this new ethos. For sure it will be easier for the React fanboys since it was the chosen framework to develop the Gutenberg editor, but I must say I’m comfortable and grateful with the abstraction made by the Gutenberg dev team to allow me to just write pure Javascript when creating new blocks. (Note that I’m emotionally attached to Vue.js and I still believe Vue.js serves me better when it comes to the frontend development)

New existential doubts. With new concepts come new existential doubts during the site development. Should I create custom blocks or just tweak the stylesheet of the core blocks? And if I use my own blocks, should I hide the core ones from the client ? What is the frontier between blocks and custom fields? How to make a photo slider as a block keeping a good editing experience?

Gutenberg: the transition

I’m finishing my second real life project using Gutenberg as the main editor. I still have custom post types for things like FAQs, products or somekind of a content list. I still use custom fields (with the CMB2 plugin) to select the featured posts on the homepage or to set the email recipients of a contact form. I’m still using Polylang for multilingual. And it all works nicely.

During this transition phase of adopting the Gutenberg, I’m not developing every single aspect of a template page as a block. And that’s ok since I’m still struggling with the best approach for some edge cases like an image slider or a form. But by embracing the Gutenberg editor as the new WordPress editor, I’m opening a new world of possibilities and freedom to my clients in a way that was very hard or even impossible before. And this matters.

The loop was fun but let’s move on!

Like what you read? Give Luis Godinho a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.