kevinleary.net

Thematic and WordPress Theme Development

I’m impa­tient, show me a The­matic demo first

I’ve always kept my eyes open for a fresh Word­Press starter theme to use for my next cus­tom theme project. In an ideal world I would always use the same tem­plate to begin with, and that tem­plate would be caste in sil­ver and pol­ished with gold, but let’s be hon­est here. I’ve used my fair share of starter themes, and have found myself mov­ing from one to the next from project to project. Par­tially because I have the atten­tion span of a gold­fish, but also because I’ve never truly been sat­is­fied with the themes I’ve tried. I’ve even spawned my own home grown theme, called Base, which we now rou­tinely use in our Word­Press CMS processes at Fresh Tilled Soil. I’ve been pretty sat­is­fied with the Base theme, mostly because of the self worth that comes along with using it, but as always I have this inkling in the back of my head that we could be doing things bet­ter by har­ness­ing the power of many, rather than just a few.

Child Themes for Mod­u­lar Theme Developement

With this real­iza­tion in mind I dis­cov­ered The­matic, which boasts abil­i­ties way beyond our Base theme by har­ness­ing the power of the open source crowd. The­matic will allow you to begin your next cus­tom theme with a solid set of pre-built func­tions, styles and scripts that make the process faster and qual­ity bet­ter. The­matic uses a fea­ture of Word­Press called child themes, which has been long since ignored since it’s addi­tion to the core. Using child theme rela­tion­ships you can keep your cus­tomiza­tions sep­a­rate from the orig­i­nal The­matic install, mak­ing main­te­nance and updates easier.

The­matic Features

A few fea­tures of The­matic that caught my eye include:

  • Browser and OS body classes for real­is­tic cross browser test­ing. Yes browser tar­get­ing is the devil, but let’s be real­is­tic here; it’s unavoidable.
  • A sim­ple, well built, dynamic drop down menu that is auto­mat­i­cally gen­er­ated based on parent/child page rela­tion­ships in WordPress.
  • Pre-styled typog­ra­phy for that looks great in all browsers for vir­tu­ally any­thing you can include in a post.
  • Speed opti­miza­tion
  • Search engine opti­miza­tions
  • Backed by a com­mu­nity, so it’s been through rig­or­ous testing
  • Extra widget-ready areas—13 in total and more pos­si­ble in your Child Theme
  • Var­i­ous layout options for 2, or 3 col­umn designs
  • Fully com­pat­i­ble with pop­u­lar Word­Press plu­g­ins like All in One SEO & Plat­inum SEO

The Sell­ing Point

The true sell­ing point for me is the abil­ity to dif­fer­en­ti­ate your cus­tomized source code from the orig­i­nal down­loaded The­matic code with a child theme. Let’s say you have 50 clients with cus­tom themes setup as The­matic child themes, you could quickly and eas­ily pro­vide those clients with new fea­tures as newer ver­sions of The­matic are rolled out, with­out harm­ing any cus­tomiza­tions. If for some rea­son a theme cus­tomiza­tion did break dur­ing an install, you can sim­ply revert back to the work­ing ver­sion of The­matic and report the issue to the com­mu­nity for support.

There are a few other Word­Press theme frame­works out there, The­matic just hap­pens to be the one that caught my eye. To men­tion a few:

I would love to hear some other opin­ions about the other options that exist, and why they may indeed be bet­ter. Please don’t hes­is­tate to post your feedback.

4 Comments

  1. Bender / 9.23.09 / 12:00 PM

    I love The­matic. Great basic tem­plate. Clean code … ever­grow­ing child theme inspi­ra­tion — and the devel­oper seems like a pretty nice guy.

    Per­haps other frame­works are bet­ter for peo­ple not want­ing to really dig in and do some­thing — those would be bet­ter off with straight fore­ward theme con­trol panel.

  2. kevinlearynet / 9.24.09 / 2:42 AM

    Thanks for the feed­back Bender,

    I’m excited to here this as it’s exactly what I’ve been look­ing for. The whole con­cept of using hooks in my themes is very appeal­ing to me as well.

  3. Devin / 2.7.10 / 6:55 AM

    Hey Kevin. Great site. I found your arti­cle on Cus­tom Write Pan­els and then got dis­tracted by all your other content.

    I’m not sure if you decided to stick with the The­matic Frame­work, but I’ve been doing about 80% of my devel­op­ment with it and love using it. My approach was to build a few base child themes that I’ll use for dif­fer­ent projects. For instance, if I need to build a site with a lot of theme options, I’ll use this base child theme I developed.

    A lot of the css and func­tions code also gets re-used from project to project. I’ve been post­ing a lot of my more use­ful fil­ters. I’d be curi­ous if you have any to add.

  4. kevinlearynet / 2.8.10 / 1:24 PM

    Hey Devin,

    Lately I’ve been tin­ker­ing with the Hybrid theme by Justin Tad­lock. I’m still unde­cided about which parent/child frame­work I may stan­dard­ize. I like your The­matic Theme Options Panel arti­cle, that’s a great idea. I almost see it as an area to define a “global cus­tom field”. Have you ever tried adding advanced fields in there, like a WYSIWYG?

    I’m still a lit­tle turned off to the idea of using hooks and fil­ters to edit XHTML code via PHP. I do a lot of cus­tomized CMS setups, and it’s much quicker and eas­ier to process if you just edit the XHTML code itself. I know the whole stigma behind keep­ing things inde­pen­dent of upgrades, but I haven’t quite decided if it’s worth all the extra effort.

    Thanks again for the input, and keep up the nice work on your blog!

Leave a comment

will not be published

Wrap code blocks with <pre lang="LANGUAGE" line="1"> and </pre> where LANGUAGE is a GeSHi supported language syntax.