Genesis Framework 101
I have been working on a project involving the beta release of Wordpress 3.0 and the Studiopress Genesis Theme Framework this week and I have to say the more I use this combination I can see how things are fixing to change in the CMS world. For the better too I might add.
The Wordpress 3 release is still in beta but some of the new things it’s going to bring to the table are phenomenal and well thought out. I don’t recommend running 3.0 beta on any production sites yet but I do recommend putting it on a sandbox and getting familiar with it from a developers perspective.
On the theme / design side of things, Brian Gardner and the Studiopress team always turn out awesome products. Their Genesis framework is no exception. Everyone that knows me well knows that I am a huge fan of their themes and use them for starters on a lot of projects so I have been getting a lot of questions in passing about Genesis so I figured a blog post was in order. There will be additional posts to follow but this one will touch on some of the basics.
There are a couple of things you should know about how Genesis works with child themes and of course the parent theme, Genesis. however before you dive into it. Here are some basics that I pulled from the Studiopress website to get you started…
What is a Child Theme?
A child theme is an extension of a theme framework which is comprised of typical theme elements – with Genesis, it includes a screenshot, theme files, a stylesheet, a functions file and an images folder. These elements are grouped together in what’s known as a child theme folder and can be activated like any other WordPress theme. To help explain the relationship of a child theme and the parent Genesis theme framework, I’ll go into detail with each one.A Screenshot
All WordPress themes have a screenshoot image included – typically this is called “screenshot.png”, is 600 x 450 in dimension and is a visual display of the theme, which can be seen on the Appearance > Themes page inside your WordPress dashboard. Since child themes have their own folders and are activated like any other theme, they require a screenshot like a standard theme.Theme Files
The Genesis theme framework, which in essence is the parent theme, is where all of the theme files are kept. This would include the typical theme files such as 404.php, comments.php, footer.php, header.php, index.php, page.php, single.php and so on. Child themes can also include these files – and the hierarchy works in a way that if any of those files exist in the child theme folder, they will override the parent theme. In other words, if you customize a footer.php file and place it into your child theme folder, that will be used in lieu of the one in the Genesis parent theme. Currently the only theme files that may be found in some of the Genesis child themes are a custom home.php file, which will control the way a site’s homepage will appear. If one is not a part of a child theme, then the theme will use the index.php file, in the Genesis-parent theme, for the homepage.A Stylesheet
Many theme frameworks are built in a way that imports the parent theme stylesheet, then allows for customizations to be made by way of the child theme stylesheet. While there is nothing wrong with the way that works, we’ve chosen to simplify things and just give the child theme it’s own stylesheet. In other words, if a child theme is being used, the style.css file in the child theme folder has complete control over the way the child theme looks. You don’t have to compare and sift through multiple stylesheets to look for and change style elements.A Functions File
Most WordPress themes have a functions.php file – which is typically a file where you can control certain behaviors of how WordPress is run or how the theme outputs various things. For instance, a functions file can register sidebar widgets and how they are styled, as well as a number of other “function” related things. With Genesis, the functions.php is simple – it calls the entire theme framework to run and that is the only code found there. The great thing about the way Genesis is built, is that the child theme’s functions file is where a number of things occur – additional sidebar widgets can be registered, and from a development side, custom functions are defined as well as filtered and hooked. (more on that in upcoming posts.)An Images Folder
This one is pretty self-explanatory – as with any WordPress theme, there is an images folder which is used to hold any images that a theme requires. Use this to hold background images, icons, navbar gradients, and what not.
If you are currently running MU or Wordpress Buddypress, I recommend checking out Studiopress for your themes because they have some great themes and also some links to the child theme for buddypress that are very nice. Stay tuned as I post some more notes about what’s happening w/ Wordpress 3.0 as well as our Genesis project we are helping deploy for a client.





