Creating a theme by using a theme framework allows for the ultimate in customization. Theme frameworks tend to allow easy modification of template output in addition to customization of element styles. This puts more power into the hands of the derivative theme developer.
Download and install the theme framework of your choice. For more information on this, please see the recipe Installing and activating a theme.
First, you need to pick a theme framework to build on. There are several theme frameworks listed in the There's more... section of this recipe, and all of them consist of quality markup and carefully chosen styles, making them a snap to build on top of.
After you've chosen a theme framework, it is time to create a theme based on that framework. To do so, you'll use the technique described in Creating a child theme. After you've created the base child theme, you can start to customize it.
In most cases, you override the markup of a parent theme by supplying template files directly in your child theme. With a theme framework, things generally work a little differently. You supply your custom markup by attaching callbacks to custom action and filter hooks, as defined by the theme framework. To find out what the custom hooks are, you need to read the theme framework's documentation.
To add appropriate functionality via the custom hooks, you create a functions.php
file inside your child theme, and use the Plugin API to add callbacks to the theme framework's custom hooks.
A theme framework is a theme created for the sole purpose of being extended by child themes. They are built to be modified by users for use on their own websites. Although most theme frameworks can be used out of the box, it is the personalization and customization that end users and developers perform that really allow their particular use of the framework to shine.
There are several quality theme frameworks in existence at the time of writing this book. The best are as follows:
Thematic—http://themeshaper.com/thematic/
Hybrid—http://themehybrid.com/archives/2008/11/hybrid-wordpress-theme-framework
Carrington—http://carringtontheme.com/
Vanilla—http://code.google.com/p/vanilla-theme/
Whiteboard—http://plainbeta.com/2008/05/20/whiteboard-a-free-wordpress-theme-framework/