amino

For a while now, one of my ambitions has been to find time to create some premium WordPress themes for sale. Maybe Drupal too, but WordPress is undeniably the bigger market so that’s where I plan to start.

Unfortunately, as so often in life, this has fallen by the wayside a smidge due to client work and other more immediate concerns.

We’re moving house in a couple of weeks and, in my mind, this is a good time for a fresh start where work is concerned. I’ve already completed (or at least made progress on) personal projects that have been going stale for months or even years, and it’s finally time to look seriously at theme authoring.

My conclusion?

If I’m going to create many themes, they’re almost all going to need the same building blocks. I need a theme framework! Since it’s for my personal use, and because it will be an awesome learning experience, I plan to create my own framework as a basis for all my future themes. This way when life gets too hectic again, building a new theme won’t actually take as long! It’s genius!

I’ll blog the experience as I go, since it’s very much a “start from scratch and figure it out as I go along” situation. You never know, maybe I’ll encounter problems and solutions that can help others too.

The planning stage

Sitting down with my notebook and a pencil, the temptation was to get carried away. This is my usual technique and it never ends well, so I’m making a conscious effort to rein those urges in and list only the features that will definitely be needed across all themes.

Structure - Obviously I’ll need some base HTML and CSS that can cope with most of the standard page layouts, including a CSS reset of course.

Theme options – The options page on each of my themes should follow the same layout, so I’ll need to design that at some point early on since it dictates the markup to a certain extent. I’ll need the usual logo and favicon uploads, analytics field, theme switcher etc as standard and an easy way for the themes to add their own sections/fields to the page.

Widgets - I also decided to include some built-in widgets with the framework. Twitter, Flickr and ad widgets are very common, and if they’re part of the framework I won’t be reinventing the wheel on each theme. They’re definitely in.

Shortcodes - I wasn’t sure about adding in a shortcode generator, after all it’s a fair bit of extra work and most premium themes still rely on having the user type any shortcodes they’re using. I’d like this to be as user-friendly as possible, however, so a shortcode generator will in theory be worth its weight in gold. It’ll include the usual suspects; columns, buttons, alert boxes, fancy quotes and so on.

Gallery - The debate about whether to remove the default gallery shortcode to make way for a custom one in each theme is still raging. Hmm. Decisions, decisions.

Since this framework is a personal thing, and I personally can’t stand working with child themes,  it’ll be more like a folder dropped into each new theme. I have no idea whether this is good or bad practise, or if it doesn’t matter either way, but it’s my framework so there!

It needs a name

So what if only I will ever use it? Nothing is ever official until it has a name! Anyway, after seriously considering naming it after a pet I decided on something just that little bit geekier.

My framework of awesomeness shall henceforth be known as….AMINO! (get it? get it? hur)

Stand by for further updates as I do everything backwards and make it up as I go along, this will be a really fun experiment.

Building a WordPress theme framework

  • #1 – The planning stage
  • #2 – Who knows? I’m making it up, remember.

Found this post interesting, useful or at least vaguely intriguing? Consider getting future posts by RSS or email and you won't miss out on those awesome feelings ever again!