Creating a WordPress Theme from “Scratch”

I love working with WordPress. It’s one of the easiest platforms for creating amazing websites. The more that I work with WordPress, the more I have to thank the wonderful WordPress community for making it so easy develop for the platform.

WordPress is already an incredibly strong platform. Out of the box, it a strong platform for development. When creating a site, I sometimes opt to use free or paid themes, and just make slight modifications. As long as there aren’t too many modifications, it can cut down development time significantly.

For me, it’s a lot more fun to design a theme from scratch. It’s weird to say scratch, because I don’t really mean that I actually start coding from line 1. It’s not that I couldn’t, it’s just that there are no real reasons to. There are a lot of powerful frameworks out there that let you focus on design and functionality, and take the nitty gritty parts out. When going about creating a site like this, here are the tools I use that allow me to create one of a kind sites for my clients. Oh, did I mention that all of these tools are free?

My favorite tools:

Underscores.me

Underscores.me is a raw theme generator. Like they say on their site, it is meant to hacked. This gives you all the core files you need to start the job correctly. If you install it and turn it on before you start to do your modifications, it will work, but it will look really ugly. That’s OK, that’s why we get paid the big bucks – to take what it gives and make it pretty and functional.

Bootstrap

Almost all new sites out there these days seem to be developed using Bootstrap. Bootstrap is a framework that is built to make your site work perfectly on all devices. It uses a 12 column based system. It may seem a bit strange at first, but once you get into it, it’s a breeze to work with. To get the functionality, just pop in css and js files into your theme.

Bootswatch

Was Bootstrap not enough for you? You need to make too many modifications to make the theme of your dream? Well, Bootswatch is out there to give you more, out of the box, looks and feels. Bootswatch provides lots of different css files to make your theme look closer to what you are looking for. You can get closer to your dream theme without doing much work.

Font Awesome

Font Awesome is a vector library of incredibly useful icons that you can use with css. They really have every icon imaginable. They currently have 519 different icons. The awesome part if that they are completely scalable. You can set the site the same way that you would for any other font, and they always look beautiful.

GenerateWP

Need to create your own content type, and want to do it quickly. Want to write a shortcode, and want someone else to give you the framework so that you can focus on functionality? GenerateWP does itĀ for you. You still need to write the code to make it do what you want it to do, but the tedious part of making sure that you include everything in the declarations is taken care of for you.

Redux

Want to give your end user the ability to modify the theme themselves? Redux framework helps you build an options screen that gives the client the ability to make their own changes. If you want to sell your theme, this is a great way to allow people to make easy modifications.

Advanced Custom Fields

This is the only actual WordPress plugin in the bunch. Custom fields are a very powerful way to add functionality to post types. What I really like about it is that it gives the user a beautiful way to add content. When I create a site, I believe that usability is of the utmost importance. That means for both the user that is coming to the site to use it and for the person who is entering the content on the backend. Once set up, Advance Custom Fields gives the backend user a wonderful interface that is easy to use.

Conclusion

Creating a robust site that is fully customizable to your needs doesn’t have to be a huge headache. Scratch doesn’t have to really mean scratch. You can get up and running quickly and easily and still create something unique that satisfies your clients needs with out any overhead that can come with bought themes.