Brainstorming the Ultimate WordPress Theming Framework
Efficiency is at the heart of all human beings. If given a common task to do, after a while they’re going to want to speed up that process, or find a better way to do it. - Ptah Dunbar (just made it up)
When I begin a new WordPress powered project, I always find it time consuming to set up the same files and folders for every project. It gets frustrating.
Then when it comes to converting a site from HTML/CSS to WordPress, there’s that dreaded process of stripping out a recent project to just it’s bare minimum. After that, I’ve got firefox open with 10+ tabs skimming over the Codex with pages like Template Tags, and the Developer’s Doc for reference. I demand a better way to do this.
I’ve tried to automate this tedious process before. A couple of months ago, I created a batch file that I’d click on whenever I start a new WordPress project. That script generates an entire directory structure for a WordPress theme. In addition, the .PHP/.CSS files that it generates are empty and prefixed with two underscores “__”. I started doing this because it served as a neat checklist visually showing me which files where modified and which ones needed editing.

Default WordPress Theme Directory
Now that’s all gravy, but it still doesn’t solve my second problem. I still have to look up WP functions and Template Tags in the Codex—that is, if I haven’t memorized them all by now!
So, that brings us to another approach I tired. Use a theme that’s already out there. A few notably themes already have a good foundations to build upon. Features like microformats, great SEO, localization, semantic classes, hooks, child-theme support and just a solid code base are exactly what I’m looking to support in the ultimate theming framework I’ve been brainstorming on.
I admire a few themers out there for this kind of work. People like Michael Heilemann and the rest of the team behind k2, Scott (sandbox), Ian (thematic), Ben and Chris (tarski), and a lot more who really push WordPress theming and just do something creative and different! However, all these guys have different goals that they’re accomplishing with their themes that are completely different from what I have in mind. So I’ll be adding to the hand full of great frameworks to build off of. Besides, it wouldn’t hurt having more options to choose from!
So I decided to fork my own theming framework dubbed “WP Framework“
So what exactly is this framework thingie? Well, the main goal I really wanted to accomplish with building this framework was to have a standard base to build all my WordPress related projects off of. Like I said before, I currently strip out snippets of code from recent projects I created since I learn new things as I make more and more themes. WP Framework will allow me to centralize all this action, which is a good thing!
The past two weeks I started crafting out a framework to serve as a bases for a solid WordPress (parent) theme and the results have already paid off twice! I’m using it for the next release for ptahdunbar.com (which is kinda why the release has been pushed back) and another for my department’s website which is currently getting a complete overhaul from static editing the html files to make changes to a complete WordPress powered CMS.
Another goal for this project was for it to be supper flexible and modular. This is where hooks and filters come into play. I’d like to really use widgets like never before to make for some creative uses. Lastly but not least, it’s got to be insanely fast. So the core will be squeaky clean from custom php spaghetti code and use built-in WordPress functions whenever possible.
How it stands out
One of the main design goals I wanted to achieve with WP Framework that differentiates it from other frameworks is the fact that it’s not styled. Those who constantly strip out unnecessary tags and wipe out the CSS styles understand where I’m coming from. Elliot Jay Stocks’ had the right mindset with his Starks theme.
Once I work out all the kinks and bugs, I’ll release the 0.1 release of WP Framework to the public as an open source project so everyone can benefit from this project.
Hopefully with all this, it’ll eliminate the repetitious task commonly done when creating a new WordPress theme and get you right into the development of site specific features. For that, I’m super excited!
I’ll be writing more about this once WordPress 2.7 comes out, stay tuned.
