Create A WordPress Theme

Create a WordPress Theme

I thought it would be fun to show you how to create a WordPress theme. I thought the process would be fun to outline here as I can share it with others who would like to know how this is done. Before we get going, there’s a few things we should establish.

WordPress is a very powerful content management system. This is good because it gives you a great deal of flexibility in designing a highly unique website. The downside of this is that its time consuming and difficult if you’ve never done it. I’ll be splitting this whole process over a series of posts and will document the whole thing here for you.

If you don’t have the patience or you just need some tweaks done to an existing theme, you might consider developing a child theme. Child Themes allow you to make basic changes to other themes with very minimal effort. In a child theme you only write the changes you want for your main theme. WordPress knows to pull anything you don’t include from the parent theme so this makes it very simple if you only need some small changes.

But if you are willing to take the plunge, this can be a great experience and you’re sure to learn something as we go along. I will show you how to create a WordPress theme.

Create a WordPress Theme – Understanding WordPress

Before we begin to create a WordPress theme – I think its important to understand how WordPress works in general. This will help you with your design, wire framing, and overall concept.

Pages and Posts

The main building blocks of any WordPress site are the concepts of Pages and Posts.

Pages are what they sound like. They are just static pieces of content that usually sit in the main navigation of your website. The idea of pages is that they aren’t related to one another in any specific way.

Posts on the other hand are the heart of your blog. Posts are canonical by nature – this means that they are associated with dates and usually run in order of creation starting with the most recent. Think of this like a dairy or journal. Keeping a website up to date means you’re creating mostly “post” types of content. It keeps your site fresh, but the challenge is getting it all organized so visitors can find your information. WordPress gives us some tools for this in post formats, categories and tags. Content creators can use these tools to group content and make things easy to find for the site visitor.

WordPress now also supports custom content types. This becomes more advanced and it is useful. However – I do recommend that before you start setting up custom content types, ask yourself if you can get the same result simply using posts and pages.

So think of it like this – as we create a WordPress theme, Pages are pillars of your website with general information. Posts are content that gets created frequently and constantly. Posts can be sorted in different ways so defining categories and tags is a great way of separating and organizing this type of content.

What You Need To Begin

I like to keep my tools simple. You’ll need a decent code editor. I like TextMate personally, but you could use something like Coda or BBEdit as well. Use a code editor and not a plain text editor as there are better features including colored code text.

You’ll probably want to set WordPress up running locally on your computer as well. Its a pain to constantly upload files to a server so this is a faster way to work.

When you do want to upload files to the web host, you’ll want a decent FTP program for doing this. My personal preference is Transmit by Panic Software.

Other than that you’re ready to go!

Coding Langages

I’ll be walking you through this process, but most likely you’ll want to have a basic understanding of HTML, CSS, Javascript and PHP. WordPress uses lots of custom functions which end up being almost its own coding language. We’ll be learning this as we go.

So get ready! In the next part, I’ll discuss how themes are structured and we’ll start on our first theme!

About Ted Forbes:
Ted ForbesI've been working with WordPress since it came out back in 2003 on various design and photography sites that I've had over the years. Check out my