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

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.

10 Comments

  1. August 12th, 2008 at 7:40 pm | Permalink

    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?

  2. August 12th, 2008 at 8:50 pm | Permalink

    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 :)

  3. Jacob Santos's Avatar Jacob Santos
    August 12th, 2008 at 10:01 pm | Permalink

    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.

  4. August 12th, 2008 at 10:14 pm | Permalink

    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.

  5. Jacob Santos's Avatar Jacob Santos
    August 12th, 2008 at 11:03 pm | Permalink

    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.

  6. August 12th, 2008 at 11:13 pm | Permalink

    @Jacop, that sounds hot! Can’t turn down that offer, let’s chat.

  7. August 17th, 2008 at 7:00 am | Permalink

    I am waiting for it eagerly.

  8. Kredit's Avatar Kredit
    October 2nd, 2008 at 9:49 am | Permalink

    I have this site bookmarked. Thanks from Kredit

Additional comments powered by BackType

About Ptah

I’m a 21 year old web developer, entrepreneur, and founder of Design by Craftsmen, web creative studio specializing in custom WordPress solutions. Get to know me.

Twitter