Recently, I joined WP Watercooler for an Episode on WordPress Theme Frameworks. If you’ve ever walked away from your desk for a break and visited the WP Watercooler, you know the experience is like being at a big family holiday — everyone is loud, there is laughter and joking, great conversations, golden nuggets of wisdom, silly banter, and arguing — but all in all, you love them all just the way they are.
While we discussed frameworks, I don’t know if we really had a real, useful discussion about WordPress theme frameworks, why they are popular, how they can accelerate the development process, and whether they are a good fit for you — especially if you’re new to WordPress and frameworks. There was a lot of banter, different perspectives were shared, some disagreements were had, some knowledge was dropped — and there was a lot of focus on the WordPress Genesis Framework from StudioPress.
DISCLAIMER: Bourn Creative is a Genesis Recommended Developer and an advocate/affiliate for the Genesis framework, as were other guests on the show.
Trust me, you just have to watch it for yourself, and at the very least, I promise this episode should be pretty entertaining!
Now let’s get to the nitty gritty, and what you want really want to learn…
What Is a Theme Framework?
Often the term WordPress theme framework refers to a code library that is used to facilitate development of a theme. In addition to the built-in functions provided by WordPress, frameworks add extra hooks, actions, and filters for developers to use.
WordPress theme frameworks are typically established as a parent theme where all the core website functionality exists. You can then create a child theme that is layered on top of the parent theme, to add custom styling.
This approach separates the functionality (in the framework) and the design (in the child theme), and creates a centralized location where all the functions reside. It also allows updates to be pushed out that address bug fixes, security patches, and function deprecations (to keep the framework strong) without affecting or modifying the design (keeping the child theme intact).
Why Use a Framework
The premise of a theme framework is that by leveraging a library of standardized pre-written code as a starter theme, developers can accelerate their development cycle — and instead of creating a WordPress theme from scratch and modifying every theme file over and over, the process of creating a new child theme can simply include the creation of a new style.css file and the customization functions in the functions.php file.
Some developers choose not to use a commercial WordPress theme framework, and instead create their own starter theme or base theme to work from. In these cases, the starter theme acts as their own theme framework that they work from.
At Bourn Creative, we use the Genesis Framework (parent theme) and we have created our own starter theme that we use to build our clients’ WordPress sites (custom child themes).
By developing our custom child themes on the Genesis Framework, we are able to leverage a standardized code base that developers all over the world contribute to on a regular basis to improve.
We believe it improves our shippable product, provides the client with a theme that is flexible and reliable, and connects them with a community of thousands of people who work on the same code base — this way they have more options for support and growth in the future.
Is A Theme Framework Right For You?
Some people talk smack about theme frameworks, arguing that there is too large of a learning curve, that development can take longer if you aren’t yet comfortable with the unique framework hooks and filters, that in some cases the code is bloated with functionality you don’t need, and that there are other options that are free (many frameworks are paid).
If you are serious about reducing your development time and speeding up your process, a theme framework may be just what you are looking for:
- You’ll need to give yourself time to really get to know all the little the nuances of the framework you choose. Know that your first few projects — while learning the framework and it’s hooks, actions, and filters — may take you a little longer that you expect.
- Once you really understand a framework, you’ll be able to quickly strip out any functionality you don’t need to reduce code bloat.
- Becoming a specialist in a specific commercial framework can be a great marketing tool.
- Often frameworks have additional functionality and widgets built-in ready for you to use.
- Most frameworks have a community that supports it — this is especially true for the Genesis Framework by StudioPress which has thousands of community members, active Facebook groups (multiple), Google+ community, and a dedicated Twitter Hashtag.
And again, check out the friendly banter about WordPress theme frameworks (and Genesis) on WP Watercooler Episode 079:
Now What About You?
Do you use a theme framework? If so, do you use one framework or do you use several different frameworks? If you use several different frameworks, which is your favorite? Do you prefer using your own starter theme instead of a commercial theme framework? Or have you created your own starter theme based off a popular framework? Or, is the concept of a theme framework and partner/child themes brand new to you?
We would love to hear your thoughts in the comments below!