Do you write your own Wordpress theme from scratch or use an existing theme?

If you already have the basic completed (non-wordpress) HTML/CSS/JS in hand, how would you bring that design into Wordpress? Would you write your own theme from scratch or use an existing theme and apply your new design to it?

If you would use an existing theme to start, which one would you use?

1 Like

I almost always start out with some basic theme or a framework, depending on the project.

For a basic one that does not require child themes, etc - just a starting point - I like http://themble.com/bones

If you find a better / more applicable theme that’s close to your design, grab it and do a child theme to meet your specifications, but that’s what I do when I want a relatively clean slate.

When I did this I started with thematic and then added the code I needed as a child theme following the instructions in one of the SitePoint books.

I always thought the point of using WordPress was to take advantage of the themes and plugins.

I use premium themes to create sites for clients; I’ll modify the theme files if my clients need any additional functions/features added.

Modifying a premium theme would be a waste of time – there is no premium theme that looks like the design I have to implement.

I was hoping there might be a PSD to HTML/Wordpress service guy here who might lend some insight.

I plan on using Reverie which is based on Foundation (much like @jeffreylees suggesting, bones) but, I will likely pull Wordpress elements into my design rather than trying to put my design into Wordpress.

I don’t use existing theme to start because those themes has limitations or huge functionality that I may don’t need. So I like to use my own developed theme.Recently I wanted a theme for providing free wordpress themes for my viewer, first I search over google to find a perfect one but I didn’t find. At last I developed my own. Here you can see http://www.wpfreeware.com

As long as you have the style.css file and a very tiny basic setup for the theme, you can have a perfectly blank slate to put everything custom in there you want. So if you have your own HTML and all that, just go for it.

The problem with doing this, is it will “break” all the built-in Wordpress admin stuff, like you won’t be able to use the theme customizations, header, widgets or anything, since your blank/custom theme doesn’t have all those hooks in it.

The next step, then, is to PUT those hooks in it. You will have to reseach how to “wigitize” your theme, how to use “the loop” for the blog stuff, where to insert hooks, and how to use WP variables such as the site name and tagline and theme customization options.

The last step would be, well don’t do any of that, and use a barebones theme which has at least all these default/basic hooks already in there, such as “bones”, and then work your custom theme into that.

Frankly, I just don’t find Wordpress very easy to use when you want a 100% custom site instead of using prebuild themes.
For an entire custom site, you might look at MODX instead, or many other competing CMSes or frameworks.

1 Like

Better is to use such a theme as the base and create a child theme for your changes.

If you create a child theme based on whatever theme you use as a starting point then any changes to that original theme can still be applied to your site without overwriting your enhancements.

Creating a child theme is always the best practice, in my opinion, if you’re using a normal theme as a base. Bones, and several other starters like it, though, are intentionally designed to be the foundation of your project and are not meant to be child themed, but merely modified to meet your needs until they’re no longer recognizable. There’s so little to the theme that it makes sense, too.

There are plenty of starter themes intended to be used with child themes.

As soon as you modify a base theme you lose the ability to include any upgrades that theme provides

That is true; However, Bones, specifically, is intended (said by the developer) to be built on top of, and specifically not to be child-ed. That’s all I’m saying :wink:

That would be fine as a starting point for experienced theme developers who decide to use it as the starting point for creating their own themes but makes it far less suited to those less experienced at developing themes. Any themes developed from it would need to be maintained just as if they were created from scratch and any changes to themes needed to support new versions of WordPress would need to be manually applied to each theme.

Beginners are better off creating a child theme because then they don’t need to maintain the entire theme themselves - just the child theme portion.

For the record, when I started into Wordpress, I found the child theme process very difficult, as I hadn’t yet mastered how Wordpress works and found that having my styles, etc all together in one place was much easier - for me. I also agree with you that for many people, the child theme process would be easier. We’re all different - no one has to be “right” - luckily.

I found the child theme process really easy even though I didn’t understand how wordpress worked. The child theme only contains the part I wrote and it isn’t jumbled with all the rest of the code for the theme.

I agree that we are all different so both approaches for setting up a new theme are valid.

It’[s not a good idea to do it from scratch unless you are really fast at building themes… it just takes a lot of time but in a way it’s good because you know what is where and stuff but to save time it s always good to use a starter theme like underscore and build upon it…

I would use a pre-existing theme then modify it. Eventually when you look at the theme it wont look like the old theme you used.

It all depends on what you are doing and how fast you need it to be done. The easy rout is using other people themes through modifications and then there’s the process of having your own framework. (if it comes to that)

I develop my themes from scratch.

If I’m given a .psd. I slice the images out of it that I need, then I start with a .html and .css file, plus the images I sliced. Then once I have the layout built. I start the process of building the theme.

I have done this many times. So I have a starter theme that I use when I first start. It has the basic files needed for a theme, but the files only contain the WP code (loop, and other code I use all the time) the all important functions.php file is loaded with any and all code I have written for it over the years and I remove what isn’t needed and alter what is needed to reflect that project)

Then I copy and paste my .css into the empty style.css file in my starter theme. Then I copy the images over to the theme folder then paste the HTML from the index.html file into the various files that make up my theme. Replacing the dummy content with the WP tags/custom PHP that pull content from the database.

Every site is different and might require “special” features, these are determined on a case by case basis.

There have been projects where I have been forced to use a theme forrest or other premium theme. In this case I totally agree with using a child theme. :smile:

For me, it’s far easier to write every line of code myself rather than spend hours to find out other people’s designs and codes. Also when it comes to updating the template you have created, it’s a lot easier to recall what you have done, and what should be done now!

Hi Guys.
How about _s ? what’s your opinion about underscores starter theme ?

What’s your suggestion for beginners like me that wants to start working with WP themes ?

Thanks.