“The way that themes have evolved within WordPress has made creating them easier,” wrote Tammie Lister in the opening line of her article titled Theme creation is now easier. “That feels like a bold statement, but it’s true.”
It is not a stretch to say that many would be asking for this secret-sauce recipe of easy theme creation. If anything, WordPress theming is at its most complex stage in history. It is a weird mix of APIs and years upon years of legacy baggage. Jumping into traditional theme development today carries with it a high barrier to entry, especially if you want to build anything grander in scope than any of the default Twenty* themes.
But Lister is talking about the WordPress of the future, a platform that will render its front-end output via blocks.
The thing about blocks is that they put this veil over a lot of the messy legacy stuff, creating a new standard where anyone who wants to build a theme does not have to worry about a lot of the history that got us from Point A to Point B. That is a Good Thing. Standardization of the system was long overdue, but we are still in the process of making that final leap forward. It is a tough time to be a developer. It can also be an exciting new adventure if we stop thinking about themes from a traditional mindset.
However, it will not be true tomorrow.
The act of front-end design does not have to be an all-or-nothing affair. Creators can build custom patterns and soon be able to submit them to the official pattern directory. WordPress 5.8 launched the template editor, so anyone can dip their toes into the shallow end of the template-creation pool. Global styles, a feature yet to be released, carries with it the promise of customizing fonts, colors, backgrounds, borders, and much more.
From a developer’s perspective, some of these features can seem limiting. We dive into code and see the world around us changing. Nothing is like the WordPress of old. There are moments when things are more complicated — sometimes by magnitudes.
However, for people who have never written a line of code in their lives, there is something magical brewing. WordPress is lowering the barrier to entry to almost nothing for the “regular” folks.
I remember how empowering it was to create my first personal blog design on top of WordPress. It was a fork of a theme by Tung Do, the former owner of the now-defunct WP Designer blog. I knew enough HTML and CSS to hack my way through most of it and just enough PHP to break my site several dozen times. It was a life-changing experience for me that played no small part in launching my career.
However, I also think about all the people who never got to build their own site designs because they did not have the prerequisite knowledge, the available time, or ran into some other blocker that disallowed their entry into the experience. WordPress is positioned to change that with new tools, building a runway that allows more people to become a part of our collective design community.
It is not only about building personal blog designs. It is about allowing anyone who wants to contribute to this open-source experiment, founded on the idea that we can share with our neighbors.
The pattern directory, which is only a few days old, is an early example of that. As we continue removing barriers for non-developers, it opens an entire world of possibilities and, perhaps, allows some who did not previously have the privilege of contributing an opportunity to do so. Or, it could even be the launchpad of a new business for some.
There is also a two-year-old ticket on starter page templates that is picking up steam. It is a sort of companion to block patterns, tackling entire pages instead of sections. The initial goal would be for themers to bundle these in their themes, but I envision a future where users can create and share these freely with their peers via WordPress.org.
But, it is rough going for theme authors today — plugin developers too, but we’ll save that for another post.
Traditional themes carry all the legacy baggage mentioned earlier, and some of the new block-related tools have added to the load. The current phase often breaks classic projects or forces developers into mixing compounds and waiting to see if the amalgamation explodes.
And, the promised future of easy theming with blocks is still in its infancy. The moment developers get into anything slightly more “advanced” than a simple blog, there are hurdles and pitfalls aplenty. For example, if you want to use different image sizes and orientations in various sections of a front-page template, that is impossible with the Post Featured Image block.
Or, maybe you have a theme user who wants to put a dynamic profile/account link for registered users on their own site. It is not happening without building a plugin or finding one to handle the job. It can also be a tough sell when four lines of PHP code worked just fine in the past.
These are merely simple examples of an array of issues that theme authors deal with on a day-to-day basis. They are problem-solvers for the masses, but they do not yet have a robust enough set of tools. Foundationally, the block system can handle most problems and even provide better solutions in some cases, but not all of the necessary blocks or options are in place yet.
As we continue solving these problems and adding the missing pieces, theme creation will be easier for everyone from the weekend tinkerer to the million-dollar theme shop. It will be a bit before we get there, but I find it hard not to look at what is upcoming and not be excited about the prospect of theming in the next few years.
I would just like to say – i like most of the new FSE features, i think it’s the first step in stepping out of Elementors shadow and i can see how gutenberg/blocks would be the go to page building experience for most users.
As a developer it’s an exciting and scary time.
What caught my eye in this article is “plugin developers too” .
Would like to put my two cents in here – as the theme/block becomes the most dominant aspect of wordpress – more mature plugins that take advantage of templating will need to scramble to come up with a solution.
Wondering if there are discussion regarding how plugins would overwrite / provide mechanisms to customize templates – WooCommerce Templating comes into mind for me. I would imaging they would struggle to convert everything into blocks – even if they are enthusiastic to do so.