For the past year or so, Jean and I have been building the vast majority of our client sites using WordPress, for all the standard reasons: Beyond the standard blogging platform, WP is a great content management system, our clients can make changes to their content without having to call us every time the need to update a page, and so on (I could go on, but if you are reading this, it is very likely that you already know how great WordPress is, and it would take me all week to detail the marvels of WP.)
While we could have built a theme from scratch (or, if we wanted to “cheat”, we could have found a commercially-available theme), we decided to create a child theme for the site, based on the standard TwentyTen theme.
Obviously, the site we ended up building looks pretty much nothing like TwentyTen (heck, it doesn’t even have a blog!). So why a child theme? Here are a few reasons:
Anyone who has ever worked with WordPress knows that the standard themes are chock-full of great functions, and plugins expand that functionality to make WordPress do just about anything you could ever want it to do. A child theme piggybacks onto that functionality, saving the developer all kinds of time and frustration.
For example, I really (no, REALLY) hate building navigation menus in HTML. I guess every designer has their pet peeve, and nav menus are mine. It takes me far too long to build navigation menus that work properly and look good. But with WordPress and custom menus, navigation is a breeze. And that’s not to mention all the other functions that WordPress includes that I don’t have to build on my own.
2. Complete customization using CSS and limited PHP
I am a self-taught WordPress designer, and I still have a LOT to learn. Building a new theme from scratch is neither particularly time- nor cost-effective for me. But creating a child theme? Easy peasy. Because the child theme’s CSS stylesheet and PHP files override those of the standard theme, it is relatively simple to create exactly what you want without a lot of frustration.
In the case of the Smarts site, we ended up with a stylesheet with about 500 lines of code and changes to about a dozen PHP files (some of which involved changing only a line or two of code). Developing the theme from scratch would have meant a lot more time, effort, and code.
3. Updates, updates, updates
One of the things I like best about WordPress is that it is constantly finding ways to improve, and new upgrades are coming out all the time. And therein lies one of the downsides to building custom themes from the ground up. Imagine your dismay when you learn — and likely from an unhappy client — that the theme you poured your heart and soul into isn’t compatible with the latest and greatest version of WordPress.
Child themes based on standard WP themes take this problem out of the equation. When WordPress comes out with a new release, the standard themes are upgraded as well — and so is your child theme.
So the next time you are building a site for a client or yourself in WordPress, think about a child theme. You might end up saving yourself some time, money, and frustration in the process.
If you want more information on the basics of building a WordPress child theme, you can learn more at the WordPress codex.