Building WordPress themes (especially as complex as ClassiPress) requires a lot of attention to organization and details. It doesn’t take much to write a bunch of messy code with no comments just as long as it works, right? That’s usually fine if you’re building a theme just for your website but if you plan on selling or giving a theme away for free, it’s very important to write clean code with lots of comments. This is one of the reasons it’s taking me longer than expected to release v3.0.
So great, you write clean code with comments but how do you create a theme and what are the proper standards you should abide by? With WordPress being as popular as it is, you would think there would be hard and fast guidelines on how to develop and release a theme but surprisingly there isn’t much. Yes, you can find lots of blog posts from people claiming their way is correct but for me, I’ve taken advice and ideas from all sorts of sites. Another great way is to reverse engineer an existing theme by some of the best themers out there today like WooThemes or StudioPress.
The WordPress Codex also provides a theme development article and now even a designing themes for public release article which indeed helps but it’s still the wild west when you are looking for a step-by-step guide to proper theming concepts.
As I continue to rewrite and rebuild ClassiPress, I try and not only improve the product but also decrease the steps it takes to install the theme. Currently there are several steps involved like creating a new page, assigning it a page template, then getting the page id and pasting it somewhere else to exclude it from showing in the nav. Lots of steps and it can lead to customer mistakes.
Not only will this new automation make it easier for new customers, but it will also cut down on support issues. You’d be surprised with the number of people who don’t read the installation guide and then wonder why their dashboard page gives them a 404 page not found.
New in v3.0, there will be a lot of install automation happening in the background when you click the “activate” theme link. Not only will new database tables get created, but pages and your blog will be setup and then the ClassiPress templates automatically associated to them. In addition, those new pages will be excluded from your navigation without having to manually track down the page id and paste it into a field.
Doing minor things behind the scenes on install might not seem like a huge deal but it dramatically helps those who aren’t good at reading instructions (or have the patience to read through it all) and it also improves customer satisfaction. Customers will be up and running much faster with less problems.