The continued adoption of WordPress across the web has facilitated the development of some robust themes. We’re able to create a child theme from almost any parent theme, use a theme framework, or build our own—with the latter option offering the most flexibility and leanness in exchange for extra work.
But, today, building your own theme rarely requires you to start from scratch. A well-written starter theme can give you a head start on custom theme development by providing the files and structure you need. Plus, if you use one that’s truly community-vetted (like the three I’ll share below), you get the benefit of many talented developers reviewing and improving a single code base.
Many aspects of WordPress benefit from its community, and starter themes are no exception.
If you’ve explored WordPress starter themes, you’re probably familiar with Underscores. If you’re looking for a minimal, less-opinionated kickstart to a theme, it’s hard to go wrong with this one.
Underscores is used by the WordPress.com Theme Team as a base for every new theme they develop—including most of the default themes that come with the self-hosted version of WordPress. Its developer-centric approach results in a lean codebase that only improves and never bloats. As Ian Stewart explains in the introductory post:
As each new default theme is released, _s will be reviewed and updated. New techniques and best practices will continue to make their way into _s. Likewise with every theme the WordPress.com Theme Team builds using _s. As we come up with new best practices and learn new lessons in our themes, all that code makes its way back to _s.
While Underscores offers less opinions on development tools, Bones takes you a few steps further down the path—providing a balance of optimization and simplicity. It’s decidedly “mobile-first,” and offers an out-of-the-box Sass setup to get you started with CSS preprocessing. By starting with mobile styles and adding more as the screen size increases, you can be sure your mobile version is loading as fast as possible. The HTML5 Boilerplate acts as a guide, and it even finds some places to minimize code output from WordPress.
Bones also includes some flexibility in adding custom post types and customizing the dashboard—although I recommend saving this type of functionality for plugins.
Roots picks up where Bones leaves off—offering a suite of optimizations, along with Bootstrap, LESS, and Grunt support. Like Bones, it uses the HTML5 Boilerplate as a guide and cleans up WordPress code output. But it does add ARIA roles (for accessibility) and microformats, a theme wrapper for more rapid coding, and some URL rewriting.
Don’t let the specific tool support deter you, though: Roots has an official Sass port, and Bootstrap can easily be replaced with another CSS framework. If you agree with the development decisions, you can’t go wrong with Roots.
Learn and Plan Ahead
There are plenty of great options for developing custom themes out of starter code (including many more than we can cover here). In addition to giving you a head start on coding, you’ll also see code written by some of the best WordPress developers around. Everyone can benefit from that type of learning!
The main caveat when using a starter theme is to remember to keep tabs on your finished theme once you’re “done.” Without a framework or parent theme, there’s no way to inherit bug fixes or performance improvements. Completely custom themes from starter code is a great option when you know you’ll be able to make changes in the future, or when you’re handing it off to a qualified developer.
At any rate, starter themes are an excellent way to develop a new theme quickly, using all the knowledge of every commit that has come before the version you use.
What’s your favorite WordPress starter theme?
Cliff Seal is a UX Designer at Pardot, a salesforce.com Company—a leader in B2B marketing automation — where he is the resident WordPress developer and has co-led team efforts on a complete Pardot.com refresh and a major UI overhaul. Cliff has been developing in WordPress for over five years as Logos Creative, and also co-founded MusicGrid.me.