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.
Hey, Ptah. This sounds really cool! I’m really looking forward to what comes out of this.
Re. Styling: I’d initially decided on giving Thematic no styling (except the reset) but found 1. that no one wanted to look twice at it and 2. it didn’t really matter. That’s one of the cool things about using Parent-Child themes: the Parent CSS can be ignored completely.
Anyway, like I said, really looking forward to what you’re going to come up with. GPL, I presume?
@Ian – of course. GPL2. Glad your interested, i’ll be sure to bring something new to the table.
Also, regarding it not being styled, I did consider that, and it’s very tempting not to, but I’d like to see how it plays out. My main target audience are those who are already familiar with this kind of authoring so hopefully it’ll work out. thanks!
About styling, I like the way it is in Sandbox. Very little stylings coupled with some layout-specific CSS. The layout CSS especially is a great help for those still learning doing all this stuff.
Also, I like the name, I think it’s a good choice considering its target audience. Can’t wait to see it
You could build it as Widget areas and then build custom widgets that duplicate the WordPress areas. Like for instance, if you have a top nav, you can put the top nav at the top above the banner or below it.
If you build the concept around widget areas and then provide several common widgets for each area. It will provide a means for others to come along and add more widgets for those areas.
I like the idea. I built my new site entirely upon a framework I’ve been working on. The next goal with it is to take it and see if I can port my blog design over to it.
Mostly, I’m interested in seeing how you use widgets.
@Hafiz – yeah pretty much but itll be different from sandbox, you’ll see.
@Jacop Santos – you hit the spot! I think were both on the same page as far as what I want to achieve with widgets. That reminds me of that WordPress holy grail idea we (or was it someone else? Lorelle probably, idunno) talked about at WordCamp Frisco.
@Justin Tadlock, I plan on doing something along the lines of what Jacop Santos was saying. It’s probably not going to happen in the first release nor second, but ultimately I’m going to make widgets drag and drop style, something I thought *ahem*Shifter*ahem* marketed it as the killer theme….pst!
P.S. Any plans on releasing your framework that you built for your themes? That would be awesome! Plus, all the more the better!
I’ll be willing to help on the PHP development side, in that case. Something like that idea will have to be implemented as soon as possible and I’ll have some motivation to help as I need something that implements that in a clean and organized matter.
@Jacop, that sounds hot! Can’t turn down that offer, let’s chat.
I am waiting for it eagerly.
I have this site bookmarked. Thanks from Kredit