Genesis is a lean, mean, flexible and powerful framework for building WordPress websites – once you’ve mastered it – and unfortunately that takes a lot of time. However the abundance of elegant Genesis child themes available with a codebase that can be trusted gives you a great head start on new projects.
Slightly more long-winded version
About half a year ago I posted some of my thoughts on working with Genesis. Though my initial conclusion was to avoid using it, I couldn’t shake the feeling that I was doing it wrong, or at least not doing it the way “smart” people do. Many of the WordPress developers that I trust and admire are Genesis advocates, so if they’re passionate ambassadors of the framework I figured there must be something to it that I was missing.
So since that time I’ve built 5 websites utilizing Genesis, including my very own site which was recently refreshed. And let me tell you.
It wasn’t easy.
Especially at first, and even now it’s still not second nature. Coming from a background of working with starter themes like Underscores (_s) or Toolbox back in the day, I was used to editing my theme files directly and writing my code within the exact template file in which I wanted it to run. I’m not saying this is the “right” way or the “best” way to do things. In truth, it’s probably not, but that’s what I was used to and that’s what I was fast at.
Genesis was a rude awakening into the world of action hooks, filters, and writing custom functions. As someone approaching this from a front-end development perspective, it threw my brain for a bit of a loop. But I’m slowly getting over it and learning my way around all of the nooks and crannies of the Genesis framework.
It’s frustrating at times though. Simple edits like stripping out the author link from posts or adding featured thumbnails to the top of my post permalink pages required Google searches, writing code to my functions.php file, and a certain amount of trial and error. Things like this were trivial to me when I was building up my own themes from scratch using Underscores.
But I’m starting to see the advantages.
When I’m working with Genesis I’m finding myself spending a lot less time writing custom CSS, and a lot more time figuring out how to just make things “work.” I can see now that once I get over the hump I might actually be faster at developing themes with Genesis.
Probably the biggest advantage that I get straight out of the gate is the plethora of well-coded themes available that can be used as a project starting point.
In the past I’ve always steered my clients away from using a pre-developed theme, unless it was approved and listed in the WordPress theme directory. I’ve found that working with bloated, everything-but-the-kitchen-sink themes to be more of a burden and a liability than a time-saver. I never recommend those kind of themes to my clients.
But I know that the codebase of Genesis is solid. I respect the developers that put it together and I have personally confirmed that the child themes offered on StudioPress are top-notch (at least the 3 or 4 that I have worked with).
As a result I’m trying a new approach to some of my projects. Where applicable, I will choose a Genesis child theme that fits best with the wireframe of the project, and use it as a starting point for further modifications. This has worked out well for me on a number of cases.
However I’ve also had a number of projects in which I knew having complete control of every single line of code was going to be important, and for those I’ve opted to stick with Underscores. Perhaps that may change in the future, but it hasn’t just yet.
So in the end, Genesis isn’t a silver bullet to a quicker workflow, but I do believe it has earned its place in my toolbox. I will keep you updated with my evolving thoughts as I work with it more over the next several months. That alone should say something – that I plan to work with it more.
If you have any thoughts or comments on the issue I’d love to hear them!