profile

Fränk Klein from WP Development Courses

The new WordPress skill hierarchy

Published 4 months ago • 3 min read

Hi Reader,

Last year I wrote a series of emails that covered career progressions for WordPress developers:

In this email, I want to take a step back and look at the bigger picture. In the past, and encouraged by Matt Mullenweg's "Learn JavaScript deeply" message, the focus was on learning technical skills.

But that's not enough anymore.

The Classic WordPress skill hierarchy

I, as well as many others, got started in WordPress by customizing and then creating themes.

Classic theme development involves a lot of frontend development, such as HTML, CSS, and some JavaScript. There is a perception that this is more uncomplicated than writing PHP, which I disagree with.

So, this is good enough for beginners and designer-developer hybrids. But "real" developers would graduate to plugin development.

Plugin development is mostly writing PHP. Something considered challenging to do, after all this, is "real" programming.

If we were to imagine this visually, this is how it would look:

Early block development skill hierarchy

When WordPress 5.0 introduced the block editor, I was still in that same mindset. There's block theme development, and there's custom block development.

So I created two courses, the Block Theme Academy, and Building Custom Blocks.

And from the sales, I could see that some were fine with not learning block development. Some of these were designers who were not interested in going beyond, or they used ACF.

Many enrolled in both courses because they wanted a complete skillset for developing custom sites. From the design to the functionality.

But a number of people also skipped the block theme course and went straight to custom blocks.

For the longest time, I didn't think this was an issue. After all, up until WordPress 5.9, theme development stayed pretty much the same.

But then WordPress 5.9 introduced the Site Editor. The Gutenberg project launched Phase 3, focusing on a complete admin rebuild.

This and my experiences building client block sites have changed my thinking over the last couple of months.

Modern block building approaches

When blocks first got introduced, many people--including me--saw them as shortcodes with a better interface. And WordPress did much the same. The Text & Media block is an example of this type of thinking.

Plus, due to the lack of layout options in the early content editor, custom blocks were often the only way of building specific layouts. So, these blocks were akin to template parts wrapped in a block.

At the same time, patterns are getting more and more powerful.

So, while the technology of block building hasn't evolved that much, the architecture and user experience have.

First, you can now build advanced layouts using the builtin blocks. Therefore, there's a lot less need to create custom blocks for specific template sections.

And WordPress 6.5 partially synced patterns that might arrive. This new feature allows the mapping of the content of blocks to meta fields.

So imagine having a paragraph that shows the contents of a post meta field. Right now, this is custom block territory or even ACF block territory. But it won't be in the future.

But beyond these theme development advances, the underlying programming interfaces also have evolved.

Building faster with WordPress

I still remember the early days of block development. Pretty much any customization option required custom code. You could use some elements from Core, but you had to wire them all together in the right way.

With the Styles Engine now both themes and blocks speak the same common language. And rather than building out interfaces, you can just declare support in the block.json.

Let's take an example from the Building Custom Blocks course. There's a lesson that shows how to add text and background color support to a custom block.

That's how easy all that is.

And this is the case for many other features. Most of the interface elements you see in WordPress are available to be used in your code.

The new skill hierarchy

Instead of having theme and plugin development be two different activities that only slightly overlap, skills are now a pyramid.

The first layer is block theme development. The skill that every WordPress developer has to master.

The second layer on top of this is custom block development. This is an opportunity to get familiar with WordPress’ APIs for data fetching, its component system, etc. And all in a safe and controlled environment.

Building upon these foundations are the more specific skill sets. Some might want to customize Core blocks. Some want to extend the editor. Others might want to build custom admin screens.

Whatever you want to do, block theming and custom block development are the required fundamentals.

Advanced block usage

While a lot of plugins do support blocks, few have taken the steps to go all in with the contemporary approach.

Often these blocks are nothing but block wrappers around shortcodes.

But going all blocks has a lot of potential. And no plugin shows this better than WooCommerce. And that’s what we’ll dive into next week.

Cheers,
Fränk

P.S. This was the first week of doing live office hours. Here are a few things we talked about:

  • How to best structure custom projects: where do blocks go? And styles? What about block editor customizations?
  • How to implement different content sizes for different templates.
  • Assembling custom blocks with Core blocks, which is a strategy I alluded to in this email.
  • Did a live code review covering PHP security and performance best practices.
  • Recommended an approach for how to migrate an ecommerce plugin from shortcodes to blocks.

Fränk Klein from WP Development Courses

Level Up Your WordPress Business With One Email Per Week

Every Sunday, I send out tips, strategies, and case studies designed to help agencies and freelancers succeed with modern WordPress. My goal is to go off the beaten path, and focus on sharing lessons learned from what I know best: building websites for clients. 100% free and 100% useful.

Read more from Fränk Klein from WP Development Courses

Hi, last week I shared a video about how to choose the best starter theme for a client project. One option is to start with an existing block theme (like Rockbase), and then create a child theme to implement your own customizations. And I got a couple of emails from readers that were running into challenges when using block child themes. So this week I want to do a deep dive into the topic of block child themes. Why would you want to use a child theme? With a block theme, you could just use...

about 10 hours ago • 3 min read

Hi Reader, "What is the best starter theme?" is a common question that my readers and students ask. The answer is "it depends". Because there are three options: You choose an opinionated design. You choose a neutral design. You start from scratch. 👉 This video dives into the details Cheers,Fränk P.S. This video is part of a new section I'm adding to my Block Theme Academy course. The focus is on best practices for building client projects. So, if you'd like anything addressed in that section,...

7 days ago • 1 min read

Hi Reader, One essential tool in your toolbox as a professional website builder is source control, also called version control. Source control is the practice of tracking and managing changes to code. This means using Git, often used along with Github to host the code. Why use source control Using Git or other source control tool to manage your code gives you lots of benefits: Versioning: By tracking every change done to a code base, you can understand how it evolved. You’ll also be able to...

14 days ago • 3 min read
Share this post