Themes are the public face of any site built on WordPress. But as developers, are we thinking too narrowly about how themes can help make our WordPress-powered sites better, more customized, and more complete?
Two months ago, I published my first WordPress theme, Groundwork. Inspired by Growth Spark’s GS Starter Theme and Mark Jaquith’s WP Skeleton, at the time I called my attempt an “opinionated starter theme”.
What I mean is that in addition to the basics, I also included other elements beyond the reach of traditional themes; elements of the site-building process which takes a sterile theme and makes it the foundation of a living, breathing site.
After publishing Groundwork, I reached out to some well-respected members of the WP community for feedback. I’m grateful that Konstantin Kovshenin responded with a variety of comments, including this:
@jgclarke nice! Not a big fan of LESS. I also think admin styles, widgets, cpt and especially wp-config are out of scope 🙂
— Konstantin Kovshenin (@kovshenin) November 30, 2012
I agree with Konstantin on a semantics level: A few of the elements of the theme are out-of-scope. But maybe that’s because the current scope of themes is too narrow?
Traditionally, themes don’t have opinions about the admin area; don’t acknowledge the presence of frequently-used tools (such as default CPT files); and certainly don’t include files that won’t end up living in the theme’s folder. Themes establish a design philosophy for 40% of a live site – what about the other aspects of building a functional, customized site?
I’d argue those “out of scope” items are exactly the type of elements that a theme – and a starter theme, in particular – can and should consider including. Starter themes are for developers; developers don’t install themes to look at nicely-rendered lorem ipsum. We use them to create fully-functional sites that are made up of not just h1s and blockquotes, but also features, customizations, content, SEO, social tools, and, yes, tools to help us as developers keep sites fresh.
This is the unspoken “middle area” of themes – the other 60% of the site-building process that is left for developers (and more often, editors and authors) to puzzle together themselves using previous knowledge, code snippets, and help from the community.
While many people have their own tools and processes for this middle area, why can’t a theme itself suggest best practices, sample code snippets, and enhancements that will make the finished site feel more personal, human, and useable? How many small businesses and independent creators are even aware that the admin can be as beautifully in sync with them as their sites are?
As WordPress evolves into the world’s best and most widely-used content management system, the community expands to include more authors and developers creating sites at all levels from independent artists to small business to the enterprise. It’s natural that the scope of themes likewise be expanded and evolved to include sensible additions and enhancements which suggest how the entire site-building process can be as poetic as the code it’s built on.
I’d love to get your take: Does the current definition of themes still work, or could the scope of themes be expanded to include related tools and features, particularly for developers?
Additional questions to consider:
- Who decides the proper “scope” of themes?
- Rather than adding more files and dependencies to themes, should there be a repository or central clearinghouse for theme “power packs” that help inform the development process?
- Are starter themes more or less useful to developers than theme frameworks?
4 Comments