How I learn a new WordPress Theme Framework

shutterstock_109130930

There are a lot of  WordPress Theme Frameworks

The other day I mentioned that I worked with all the major theme frameworks (except one). When I wrote that in a discussion group, someone asked how I could learn so many of them when they were all different. Now I'll be honest, there are tons of fantastic WordPress designers and developers who know a lot more about anything I write than I do. So I'm not suggesting I'm an expert in every framework. But that's not what I need.

What I need is to know which frameworks are better for which kinds of sites. So that means I need a quick and easy way to evaluate new frameworks and figure out where they fit, so I know when to use them. My goal, of course, is efficiency. I want to use the right framework so that I spend the least amount of time doing things that others have already done for me.

Have you seen StartBox?

So since WebDevStudios recently announced their acquisition of the StartBox theme framework, and since the last time I'd looked at it had been over a year, I figured it was a good time to take a second look, and to share with you the ten steps I take in learning a new WordPress theme framework.

My 10 Steps

1. Download & install it

Like everyone else, my first step is to head over to the site and download the newly announced framework, or framework update. But when I get there, I want to do more than just click the download link. I browse around because you never know what else you're going to want to grab.

For example, with StartBox I noticed that they had a blank child theme and a plugin that made connecting into hooks easier. These were interesting to me and so I pulled them down as well.

2. Activate it

I know, steps one and two are pretty simple and straightforward. But I will tell you that this step is often where things fall apart. Sometimes it's my fault. Sometimes it's not. If you're anything like me, you download something that you're excited about – and then don't follow thru with it. So it sits in your downloads. So if I download it, I have to install and activate it asap.

The other thing that sometimes happens is I activate it and get warnings or errors. It may be because it expects something that I don't have configured they way they imagined or something else. I don't have this happen a lot with the big names in frameworks, but beware what you buy on themeforest because it's happened several times to me.

In this case, I'm going to activate both the parent and blank child theme.

2InstallActivate

3. Check out & configure options

My next step, upon activation is to immediately check out what theme options are given to me. In some themes, like Catalyst, they are plentiful. Others prefer to keep them elegantly simple, like Genesis.

StartBox is more in the middle. It has a single page of options that cover the core basics that you'd want. In essence, it perfectly navigates between being a framework for total newbies and a framework that only serious developers can use.

3Options

One thing you'll notice is that it stays clear of color and font adjusting – which it (correctly) expects will be part of the CSS file of your child theme. Since I'm using the blank child theme, I know this is the file I'd be editing. But we'll come back in step 9 for that.

4. Check for custom widgets

This may not be where you go next, but it is for me. And with StartBox it pays off. What I've noticed over the years is that several frameworks create their own custom widgets to enable you to do special things – from a slider to featured posts, etc. While Genesis delivers those in the form of plugins, a lot of the others do what StartBox has done. They created some custom widgets – just for me!

4Widgets

The easy way to find them is to look for them by name – here you can see several that start with SB. Now what I normally do is drop them into the widget areas and review what kinds of options they give me, in terms of configuration. Here's an image of one of them – with a lot of great options.

5. Add a page / Review page templates

Another spot where WordPress theme frameworks tend to hide their cool tricks is in page templates. So the next thing I do is create for myself a new page. I do that because it's often the fastest way for me to see what options are available.

6PageTemplates

In this case I notice that StartBox comes with several templates – some of which look like they are doing some additional loop work for me. I say that because it looks like some will bring back a single post and others a list of posts.

Knowing that the loop is where a lot of people struggle (especially with multiple loops, or non-standard ones), this makes perfect sense.

It also creates an easy way for any single page to adjust its own layout.

6. Look for ways to adjust fonts/colors

At this point I look for ways to adjust colors and fonts. I want to know if I have quick and easy GUI control over these items – even though I know they belong in CSS files. But that doesn't stop me from looking. Why? Because there are some users that I work with that will never, no never, learn CSS.

In this case, as mentioned above, StartBox doesn't provide access to control these settings other than the child theme's CSS file. It's fine, it just means this framework is good for giving me a baseline to create child themes with, or useful for people who are comfortable editing a CSS file.

Either way, the point of evaluating any framework is to see what assumptions they're making when they code their product. Knowing that helps me know when to and when not to recommend it.

7. Head back to the site to see “what they do best”

You'll notice that at no point yet have I browsed their site to read about all of their highlighted features. But every theme and framework has things they're proud of. So after I've investigated for a bit, clicking around and experiencing the framework on my own, I'm ready to see what they have to say for themselves.

startbox1

From reading the list of what they highlight, it looks like I've missed a few things (like shortcodes). So this is normally what I do next – check out the features I may have missed. But other than that one, I've experienced almost everything already.

8. Review documentation

My work up thru the first six steps is to make tiny assumptions about how it would work, and then follow it up with tiny observations. By doing this, I keep refining what I know about the framework. But eventually I come to the end of my trial-and-error approach and need to sit down and look at their documentation.

7documentation

9. Use or create a child theme to customize the look

By step nine, I'm feeling like I could easily fit any theme framework I've learning into my large sense of who does what well. A while ago I wrote one of those kinds of theme framework comparison posts but it's likely time to circle back on them all.

Nevertheless, it's finally time to start configuring a site and hacking my way thru a child theme. In the case of StartBox, I love what they've done with their blank child theme. It means I don't need to create a new child theme – because they've already done it for me. All I need to do is figure out which CSS styles the theme uses and start overriding them.

8childtheme

As you can see, it's pretty easy to know which styles they use because they've created blank versions in the child CSS file. Pure Awesome!

10. Compare it's performance using Pingdom tools

The last thing I do is I load in some sample data and then have pingdom tools check out the performance. If you're a regular on my blog you know I care about high performance across most things – people, processes, and especially web sites. So I want to make sure that the theme framework is a fast one. The quick test I did put StartBox in a good spot with a fast load time and not a crazy amount of requests. Soon I'll update my earlier comparison on performance to include StartBox.

So that's how I go about learning a theme framework. Hopefully it was helpful. If not, at least I hope I introduced you to a new framework that looks like it could be perfect as a baseline under your own custom child themes.