A few weeks ago I got the idea of creating a “starter theme” to work from when I’m beginning to port an HTML template to WordPress. After I’ve finished the mock-ups in XHTML and CSS, it’s always the same process: copy the style.css to the theme folder, chop up the HTML into various PHP files, tweak some stuff, and ship off the theme. During that process I often find myself going back to the default theme for various tags, formats, and templates.
I’ve spent a few weeks toying with this “starter kit” to make it help my development workflow as much as possible. Now I’m releasing this kit to the public, untouched, for you to download. This is what I use when I begin creating a WordPress theme after the HTML-ing is done.
Please download the files and try it out. There’s a full comments.php file, a functions.php file with the widget code already there, and many other files containing the code I use most, such as the loop and other template tags.
After you’ve used it, I’d appreciate it if you came back and left your feedback in the comments. What you like, what you don’t like, what you’d change, and what you’d add. Then I’ll take the feedback, modify the kit, and release a new version. My goal is to ultimately create the best “starter theme” possible and have a system that anyone can use to quickly port an HTML layout to WordPress.
Later on, I think it’d be neat to make this some sort of a hands-on tutorial. Instead of writing one huge tutorial telling you how to create a theme, I want to experiment and provide something beginners can download and use to learn the ins and outs of creating a theme. Each file would be fully commented, explain what each area does, and provide some helpful tags to help you get started.
Here are some of the features of my starter theme:
- Blank style.css with theme name, author, URL, etc. tags at the top
- Content-ready 404, archive, search, index, single post, and page files
- Full, working comments.php file
- Complete header.php set up with links to RSS, a stylesheet, and JS file;
template - Default search form template
- Blank screenshot.png file and images folder
Please download this theme and try it out, then come back here and let me know what you think. This empty template has certainly sped up my theme development workflow, and I hope it’ll do the same for you.
Post Revisions:
There are no revisions for this post.
Posted July 9, 2008
adelle said:
Dan, this is great – thanks for sharing!
on July 9, 2008 at 8:19 pm
Ryan Ray said:
Incredible idea! I’m just really getting into theme modding and this should be an awesome resource. I will be making a new theme soon and will try this out. I’ll let you know if I have success, thanks again!
on July 9, 2008 at 8:28 pm
Hafiz Rahman said:
Hi guys,
congratulations for the release! I’ve checked it and I liked what I see so far. I wonder what’s the reasoning for having a fully-working comment area but not fully working wp loop that actually display contents?
on July 9, 2008 at 8:35 pm
Dan Philibin said:
@Hafix the comments area doesn’t really work much more than the loop does. I have a few template tags in comments.php because those are different from what’s used in the loop.
The loops work, there just isn’t anything inside of them. I leave it empty so it’s easy to copy and paste HTML inside.
on July 9, 2008 at 8:39 pm
Blake Imeson said:
Dan,
Thanks so much for doing this. I have been wanting to start building themes and your idea about having the code commented with instructions is terrific.
People like you are what makes the WordPress community the amazing group it is.
Thanks!
Blake
on July 9, 2008 at 8:46 pm
Ryan Imel said:
Dan, is it? Good idea, with the starter theme. I’m a fan of Sandbox, from plaintxt.org. Check it out if you are interested in WordPress workflow.
And feel free to contact me, either at my site or my email. I’m sure we would have a lot to talk about.
on July 9, 2008 at 9:31 pm
Tim Schmoyer said:
Hey, great idea!
on July 9, 2008 at 10:04 pm
Jerry Thomas said:
I just subscribed to your RSS feed a couple of days ago. Looks like my timing was just about perfect.
I look forward to watching this project develop.
on July 9, 2008 at 10:26 pm
Andrew McCloud said:
There is always the Starkers theme – http://elliotjaystocks.com/blog/archive/2008/free-starkers-wordpress-theme/
on July 10, 2008 at 4:08 am
Matt said:
I have wanted to try and modify my own theme and this seems a great way to start
on July 10, 2008 at 9:15 am
Dan Philibin said:
I’ve seen a few other theme “frameworks” out there, and they’re all great. This isn’t a framework, and it’s not intended to work as a theme right out of the box. Rather, it’s a basic template that I can paste right into without worrying about typing out the loop and standard header.php information every time I create a theme.
I’ve looked at other theme frameworks and they’re full of real, working loops using every template tag out there, a full CSS stylesheet, and an actual page structure. I’d spend 10 minutes just deleting all of that and replacing it with my own HTML and CSS. With this theme kit, I can just start from scratch.
So really, the purpose of this project is to take my empty base theme and turn it into a working beginners tutorial. That means adding template tags, comments, and instructions to the theme while still keeping it clean and simple.
So yeah, download the theme and try it out, and thanks to everyone that’s done that so far. The next step is to think about how it can be improved and what can be done to turn this theme into a teaching tool for beginners.
-dan
on July 10, 2008 at 9:18 am
Patrick Sweeney said:
Excellent! I blogged about this on my site, my readers will love this.
on July 10, 2008 at 10:00 am
Omar said:
loving this kit! already using it, thanks alot!
on July 10, 2008 at 11:59 am
Steven Snell said:
Very nice. I’ll have to download it and play around a little.
on July 10, 2008 at 6:08 pm
Bruce Alrighty said:
This is a great idea.
I was just about to create a new wordpress theme and with this it will be even easier.
on July 11, 2008 at 3:36 am
Bruce Alrighty said:
Every time I active the theme it breaks the admin.
on July 11, 2008 at 5:55 pm
Dan Philibin said:
@Bruce I don’t get any problems. Try adding styles to the stylesheet. Remember, it’s an empty theme, not an out-of-the-box usable theme.
on July 11, 2008 at 5:58 pm
Bruce Alrighty said:
@Dan I added styles to the stylesheet and the theme works fine but when I use this theme it causes the admin to work incorrectly. Links don’t work right and changing themes doesn’t work properly.
on July 12, 2008 at 4:37 am
matt said:
Thanks for this! I’ve been trying to design my own theme for a couple of weeks now but hitting road blocks. I successfully finished it off last night using your starter theme as the foundation.
on July 12, 2008 at 10:58 pm
Jennifer said:
Thanks very much for this. It’s a big time saver.
on July 22, 2008 at 3:46 am
Ian Stewart said:
Great job on this, Dan.
on July 22, 2008 at 11:13 pm
Josh said:
Thanks.
A little error: there shouldn’t be any empty lines outside of <?php tags in the functions.php file. This causes the RSS feed to not validate and has been really frustrating me today.
on August 15, 2008 at 6:45 pm
Jesse Dodds said:
Amazingly useful… I was actually thinking how great something like this would be only a few days ago. Cheers! ¶
on August 22, 2008 at 5:17 am
Ben Leivian said:
This is great, thanks for sharing!
on August 22, 2008 at 10:03 am
Mark said:
iLL Give it a try. Hasn’t anyone heard of wpthemerkit ???? It is how I finally learned how to make themes.
on August 22, 2008 at 10:15 pm
Dan said:
Hey Dan! Great idea. I was wondering if you have to keep updating this every time a new WordPress update comes out. I’m not sure how WordPress updates affect themes. Is there somewhere to check? Any ideas?
on September 9, 2008 at 5:14 pm
Cathy | Healing Graphics said:
Hi there, I found you searching for a blank theme. I saw the css starter frameworks, but I think I’m like you – I like designing my own css & html, it is really the wordpress tags that I end up spending so much time on. And then I also end up getting behind on the versions of wordpress too. So as new things are added – photoblogs and galleries for one – it would be great to keep this project up to date. As I’m sure you will do for your own projects…
Question – Is it imperative to create themes that work out – of – the- box? And if so, how do you get the galleries and sliding content, and fancy features everywhere? ie: a magazine theme with excerpts on the front – linked to a photo. I wrote this code for myself, but it is complicated and I don’t understand it all, and I’m sure it will be obsolete soon. So do you have an indepth knowledge of php or do you use plugins? Or???
thanks for any help you can offer!
on September 12, 2008 at 12:06 am
Dan Philibin said:
@Cathy I know some basic PHP from working with WordPress and the CodeIgniter framework so I write my own plugins from time to time. Usually, there’s something out there to accomplish what I need to do.
on September 12, 2008 at 2:02 pm
omkar said:
hay! Dan Its a Great idea. swift start to theme any HTML R u going to release any updated version ?.
on September 16, 2008 at 2:40 am
John said:
More goodies from the team. Thanks!
on September 28, 2008 at 10:40 pm
Taylor Dewey said:
This was exactly what I was looking for — all of the template files and their basic structure/loops/etc, but nothing else so that I can build what I want without worrying about the WordPress specifics.
I know you’re trying to keep it style-free, but WordPress has some default CSS that it sort of expects. You may want to consider including that. http://codex.wordpress.org/CSS
I plan on keeping a copy of this locally, with some of the CSS set up the way I like to use it so that I’m ready to go on any new Theme development. Thank you very much for providing for this tool.
on November 7, 2008 at 9:19 pm
Jon Upchurch said:
Thanks a million. I understand the concepts of doing all sorts of things in WordPress, but getting something that worked out of the gate that didn’t have anything I needed to get rid of before modifying is awesome.
Thanks!
on February 12, 2009 at 4:40 pm
Adan Zye Haber 7x24 said:
Thank you so much, very nice
on August 11, 2009 at 3:36 pm
Sjoerd Koelewijn said:
Hi Dan,
I’m currently working on a make-over of my website using your starter theme as a basis. I noticed searchform.php was misspelled (searhform) in the 404.php file which caused an error.
I also noticed that there is some whitespace in the functions.php that caused a crash in the admin area every time I updated a post. Don’t know this is just in my copy or that more people have had this problem?
Apart from these two minor errors I really like the idea of this starter theme. I’ll try to give you some more feedback in the near future so it can be made even better
on August 22, 2009 at 6:30 am
masterofsuspense said:
Hi,
Startertheme sometimes breaks admin interface, this theme seems to be designed for older WP versions so have you tested this with 2.8+ versions?
I’m using the latest 2.8.4 and it occasionally breaks the admin interface, when I rename the folder (forcefully deactivate the theme) the admin interface comes back. This is very strange problem as it doesn’t seem to break the theme all the time :/
Maybe it is just MAMP which I’m using to run the development version of WP on my computer.
on September 16, 2009 at 3:48 am
dotker said:
Any compatibility issues with latest wordpress? 2.8.4?
on September 17, 2009 at 7:08 pm
Dan Nisbet said:
Love this theme template! A quick note for those who might be having issues, open the functions.php file and find the two lines at the bottom commented out. I’ve personally just deleted them to get my theme to work correctly, but you can also move the commented code between the to the 9th line in the code, right after the if() statement and before the first ?>
Hope that helps!
on September 25, 2009 at 9:49 am
Michelle said:
Using your kit. Thank you so much! I have been thinking whether I’d switch to WordPress or Blogger. I wanted Blogger because of the freedom of code. With your tool, I think I decided to switch to WP. Thank you so much! x
BTW, on the topmost of the layout there appears the URL of the directory wherein the theme has been uploaded. I can’t find the code that placed it there, do you know what’s wrong?
thank you!
on October 13, 2009 at 9:26 am
Marc said:
This is really cool, it saved me a lot of time! Thanks for publishing it.
on November 15, 2009 at 9:54 pm
scott from kauai said:
Flippin awesome. I always thought about doing this. Such a time savor! Thanks.
on November 15, 2009 at 11:39 pm
josh said:
Hey dude, you got a typo in index.php
“include(TEMPLATEPATH.’/searhform.php’);” should be searchform.php yeah?
on November 24, 2009 at 9:04 pm
Chris said:
Was about to do one for myself and found this — brilliant. Thank you.
on December 18, 2009 at 12:25 pm
Eric Lightbody said:
I’m going to be using this for a new website and let you know what I think of it. I currently use the default theme in WordPress and then modify it. Thanks a ton for making this public!
on January 18, 2010 at 12:05 pm
Tyler said:
Now this is what I am talking about… I always seem to take an old theme of mine and delete all of the custom shit.
THANK YOU!
on February 27, 2010 at 5:30 am
Ira said:
This is an awesome idea. Unfortunately, it’s a bit out of date and there are errors – e.g. include(TEMPLATEPATH.’/searhform.php’);
is misspelled, and should also be this function instead:
get_search_form();
Maybe you should post a warning at the top of the page or update it?
I’d love to see an update though
on February 27, 2010 at 5:34 pm
Checho said:
Thanks a lot! i need this!
on March 1, 2010 at 1:24 pm
V.C said:
A very fresh and attractive wordpress theme, I would say.
on March 25, 2010 at 7:48 am
Joel said:
Dan – Dude, you should really put this on Github for everyone to fork, hack, and improve. Would make it super awesome to “crowdsource” (god, I hate that word) the work on it. If you like the changes then you merge whoever’s fork into your master repo.
on April 9, 2010 at 1:34 pm
Topwpskins said:
Hi,
Is there an update to this? I just tried it and it doesn’t work with the latest WordPress.
Regards,
TopWpskins
on June 8, 2010 at 5:31 am
Jennifer R said:
Does this project support the latest release of WordPress 3.0?
on June 18, 2010 at 11:24 pm