This is a guest post from Dan Cole, who is currently developing his own theme called the Parallel Theme
Developing a WordPress theme from the ground up is a big task. Sure it might not take long to throw up the basics, but there are a lot of small details that can go into a site. Frameworks are a tool to make developing a theme easier and quicker. Their not something that everyone needs to use, but it’s an option for people. However, getting going in this field can be confusing. The theme development community has some issues to get through and it really messes up some ideas about what is what.
Lets start out with the general terms and move inward. Themes are a part of WordPress that make displaying content possible. Through themes, all information is formatted, styled, and structured into a website design. But because of all the features that can go into these themes, two types of master themes were created. The first type are called frameworks and like its name, are designed to be a starting point for theme developers. The second type should be called base themes, but instead are also referred to as frameworks. These base themes are designed to be parent themes for other themes and allow for easily modifying the visual look of a site. Or from the other side, allow core code to be updated without messing around with the details about what makes a website unique. However, to be technical, it’s not this black and white. Frameworks and base themes could be regular themes or vise versa.
I would like to compare and contrast some of the most popular WordPress Frameworks and Base Themes. I believe it’s something that people picking between different themes would like to see and that it needs to show the answers to important questions in a simple way. However, this comparison is going to over simplify things and hide the reasoning behind the choices made by these developers. Theme Frameworks and Base Themes are not a case of right and wrong, good and bad, or even rich and lacking, but a choice in opinion. I’m hoping this comparison points people that are considering a framework to the developer and to the project that has similar goals in terms of what should be in a WordPress Theme. I would also hope that this comparison points out how much more thought goes into these themes, then the majority of other themes out there. This comparison doesn’t look at the style of the design or arrangement of sidebars, because the answer to those questions would be “How ever you want“. Instead, I want to look at the initial and little details. These are the themes that every theme should be based off, because they aren’t a quick project, but a collection of every detail, that a theme should include. These themes are also developed continuously, not just patched up so they work on the current version of WordPress.
For people developing themes or interested, I would suggest thinking of themes like computers. No one company makes the whole package. The Processor, Operating System, Programs, and assembly is all made or done by different companies.
Question | Thematic | Hybrid | Carrington | |
---|---|---|---|---|
Type 1 Classification | Theme Framework | Theme Framework | Blank Theme | |
Type 2 Classification | Base Theme | Base Theme | Theme Framework | |
Author: | Ian Stewart | Justin Tadlock | Alex King (Crowd Favorite) | |
Site URL: | Themeshaper.com | ThemeHybrid.com | CarringtonTheme.com | |
Is it licensed under the GPL? | Yes | Yes | Yes | |
Last Version release date: (As of April 1st, 2009) |
March 1st, 2009 | March 29th, 2009 | March 24th, 2009 | |
Unzipped file size: | 518 KB (Is this right or is it me?) | 708 KB | 529 KB (Is this right or is it me?) | |
How well is the code documented? | Section Titles & Inline comments in the tricky parts. | Section Tiles & version code was added. | Read Me files for each directory | |
Number of Custom Hooks: | 18 | 31 | 23 | |
Number of Custom Filters: | 39 | 40-50 | 6 | |
Visual aid of widget area locations? | Yes | Yes | N/A | |
Type of aid for hook and filter locations? | Visual | Documentation | N/A | |
Number of Publicly available Child Themes? (linked to by main site) | 16 | 4 | N/A | |
Number of (Default) widget areas: | 13 | 9 | 2 | |
Is a CSS Reset done? | Yes (with @import) | Yes | Yes (… N/A) | |
What plugins will auto insert if installed and activated? |
|
|
None | |
What CSS grid system is used? | Custom (based on Blueprint, Tripoli and 960gs) | None | N/A | |
How is the footer content modified? |
|
|
|
|
Body tag classes: |
|
|
Supposedly has some | |
Has or uses IE hacks? | No (with the exception of one minor superscript/subscript fix) | No | No | |
Valid HTML | Yes | Yes | Yes | |
Compatible with WordPress versions: | 2.7+ | 2.6+ | 2.3 (Maybe) | |
Uses Microformats? | Yes | Yes | Yes | |
Language Support (For non-English sites) | Yes | Yes | Yes | |
Gravator enables? | Yes | Yes | Yes | |
Is there a print CSS file? | No | Yes | No | |
Is there a default layout? | Yes | Yes | Yes | |
Modular Comment Section ( Can trackbacks and pings be seperated?): | Yes | No | Yes | |
Custom Comment code or taken from Kubrick? | Custom (based on Sandbox) | Custom | Custom | |
Default Templates: |
|
|
|
|
What are the backend options? |
|
|
|
|
Resource to find out all hooks and filters: | Guide to customizing Thematic | Hooks (members only) | Included Readme | |
HTML doc type: | XHTML 1.0 Transitional | XHTML 1.0 Strict | XHTML 1.0 Transitional | |
Number of years the lead author has done PHP? | 2 years | 3 years | 10 years | |
Number of years the lead author has done HTML & CSS? | 3 years | 6 years | 12 years |
Hopefully this has answered most of your questions. My needs and wants likely differ from the majority, so I tried my best to be well rounded. Maybe this will get the ball rolling in terms of discussion. I really feel that showing the cards like this does take the work away of figuring it out for yourself and that it will show developers what everyone else is up to.
Some theme frameworks were left out. I wish I could have included them all. Blame Jeffro if you will, he made the page too narrow and I didn’t want to write small. So now I’ll hand it off to everyone else, what other interesting facts should we look at?
Very interesting and helpful readout. Thanks for taking the time to get this together. (found it through twitter!! http://twitter.com/iandstewart)
I’ve thoroughly been enjoying playing with each of these and other frameworks. The first two in the table have my vote for usability and the ability to start developing right out of the box. I’ll be following what happens over at dan-cole!
Thanks again for contributing!