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.
Barry Levitt says
cotton, how does Genesis stack up in comparison to some of the other theme frameworks I have seen you blog about like Thesis and wpremix? also, did you purchase the developer package from studio or do you buy your themes individually and charge your clients to edit them?
Cotton Rohrscheib says
To be honest I haven't worked w/ Genesis as much as I have wp-remix but some things you can do w/ wp-remix pretty easily that you can't do w/ Genesis yet is manage multiple templates. I suspect though as the project grows this will become an option. Brian Gardner and the entire Studiopress team are pretty methodical and they code things the right way when they release them so that might be why this is not a part of their parent theme out of the box now. Also, child themes sort of allow you to do most of what you are wanting to do.
I would go ahead and purchase the developer package on studiopress. That will give you access to the support forums and the updates to the themes as they roll out. In my opinion if you are going to roll out client solutions on wordpress, this is an investment that will pay for itself on your first gig.
c. evenson says
Doesn't WordPress incorporate MU in this release? I thought I read that somewhere. Look forward to seeing you in Fayetteville this month.
Cotton Rohrscheib says
Yes, that's my understanding. You can download 3.0 beta 2 right now, you should have a look. Where are you guys going to be staying during Wordcamp? I would definitely like to hook up.
c. evenson says
i don't know, i think clark has already made our reservations though. i will have him call you this week and give you our information. you have to tell him that story you told at kasey's birthday.
Cotton Rohrscheib says
Awesome. I will email you my cell number also, be looking for that. You are going to have to refresh my memory on the story you are talking about, I have slept since then. haha.