Figuring out whether you should use a WordPress theme framework for your website is a balancing act of how much control you want to have over your theme code and how much you don’t have to write yourself.
Controlling Code
When you build a website, you usually start with the HTML and then add CSS. With a theme framework, the HTML (and WordPress PHP) already exists and you must approach it CSS Zen Garden style. Of course you can still override the code with hooks and filters provided by WordPress and the framework itself, but the question is, how far do you want to go?
Say you want to tweak the way the post date, author, and comments section of the page. In Genesis there’s a nifty shortcode format you can override with a filter:
post_date before="" post_author_posts_link post_comments post_edit
So that’s pretty easy to customize. However, say you’re not happy with the way comment pagination is being displayed and you want to wrap it around an if statement, which Genesis does not do. Unfortunately there’s no filter for that and you’ll have to copy-paste the entire chunk of code from genesis_do_comments()
to override it.
All-in-one
Using frameworks also means you can work entirely out of functions.php
(and style.css
), which can be a good or bad thing for you. Good, because there’s only one file to refer to when looking to fix or edit code. Bad, because it’s all lumped in there. You can still use page templates, but that would usually mean redundant code, which defeats the purpose of using frameworks in the first place. Conditional tags are your friend.
Dependency
Finally, using a 3rd-party framework means you’re completely dependent on the underlying code, for better or worse. You won’t have to worry about updating the code when a new WordPress version gets released. But if the framework goes in a direction you’re not too thrilled about, becoming too bloated for your taste, then you’ll have to migrate to another framework and adapt your code all over again.
Starter themes & light frameworks
If you don’t need the bells and whistles (hooks and options) of a framework for your website, keep in mind that any WordPress theme can be a parent theme whose code you can inherit for your own theme. Try using Twenty Ten as your base template, or just copy/paste code and modify to your liking, no strings attached.