Join Joseph Lowery for an in-depth discussion in this video Setting up a child theme, part of Dreamweaver and WordPress: Core Concepts.
In this lesson, I'm going to show you how to set up a WordPress child theme. As the name implies, a child theme is one based on another theme known naturally as the parent theme. A child theme can inherit styles from the parent while also establishing its own. Child themes allow you to make any and all necessary changes for a custom blog site while maintaining the parent theme. This latter point becomes really important if the parent theme has ever upgraded, as they often are. So let me start by opening up the style.css for our current theme, custom.
I'll go over to my Files panel and drill down into blog > wp-content > themes, the custom folder there, and expand that and then scroll down just a little bit more until you find style.css. Let's double-click that and open it up. At the top of the file you can see a comment that WordPress uses to get its theme information from. Here is the name of the file on line 2 as well as the URI of the developer, a short Description, the Author, and Version number. So we'll use a similar comment for our theme.
Now you know when you install a new WordPress theme it's maintained in its own subfolder found within wp-content themes just like the Twenty Eleven or the Custom theme we are using now. So to create a child theme, you need to create a new folder in the themes folder. So I'm going to right-click on themes and choose New Folder, and I am going to name this new folder roux, R-O-U-X.
All a child theme actually needs to be recognized by WordPress is its own style.css file, although you can also, as you'll see, add images, functions, separate pages just like you would any other theme. So let's create that CSS file now. I'll go to File > New and then from Page Type choose CSS and click Create. Well, let's go ahead and save this in our roux folder. So I'll choose File > Save. So here we are in the site root.
We'll drill down into blog > wp-content > themes, and there's our roux folder, and we want to save this using the default name used by WordPress, style.css, and once that's saved we want to get rid of the code that's up top here that Dreamweaver puts in because in order for it to be properly recognized as a style sheet for theme we have to start with a CSS comment that is correctly structured for WordPress.
so let's switch back over to our custom.style.css, and I just want to point out if you ever get confused when you have multiple style.css files open, you can always hover over the tab and Dreamweaver will show you the entire path, and you can see in there that I have this as the roux folder and here is the custom one, if you look at the third to last word there on the right. Now you also have this option, in Open Documents, which will show you the full path and allow you to switch from one to the other very easily. So here we are in the Custom Theme.
Let's go ahead and copy this opening comment here. I'll just select that and press Command+C, then switch back over and Command+V to paste it in. Most of this stays the same, but you do want to make a couple of changes. We'll need to change the names. So instead of Custom Theme, let's just call it Roux, and everything else can stay the same if it's still accurate, but you will need to add one more line, and that's the template line which indicates which parent to use.
So you want to put in the keyword template, followed by a colon. So let's put it right below Author here, Template, colon, and a space, and now you want to right in not the name of the theme as you might expect like Custom Theme, but rather the theme's folder name. So in this situation we are going to be linking to the theme that's in the folder custom with a lowercase c. So here I'll just put in custom and save my file. A child's theme style sheet completely replaces the style sheet of the parent.
So if you're not doing a complete overhaul and one of the benefits of doing a child theme is that you have to, the first thing you want to do is import the parent style sheet. So now I am going to add my @import statement, and we'll use the URL parameter to point to the style.css file located in the Custom Theme folder. And I'll place that right below the comment. So @import url, open parentheses, starting my quote here, and we're going to be going up a folder, so dot-dot slash, the name of the folder we're going into, which is custom, another slash to go back into that folder, and then style.css. Close the quote, close the parentheses, and put a semicolon at the very end.
Okay, we'll save our file, and we are ready for the last step in setting up our child theme, activation. So let's go back to the Dashboard, and we'll go to our Themes category, and now you see there's a new theme that's available to us, Roux. You will notice that, of course, this doesn't have a graphic, that's because we don't have an image named screenshot within the Roux Theme folder, but that's okay for now. We don't really need one.
So now if I go over the Details option, here, and click on that, you'll see some of the information that's pulled in from the comment, our version number, our short description, and it also tells you, and this is kind of important exactly where the template files are located and right now because this is a child theme, template files are located in themes/custom and the stylesheet files style.css, in other words, are in themes/roux. It goes onto say that roux uses templates from Custom Theme making it very clear that this is a child theme working with the parent custom. All true.
So all we need to do now is click Activate, and now our new theme is active, and if we were to preview it, we'd see exactly what we saw before with custom, because we're using its exact stylesheet. But the important thing is now that this part of the work is done we are ready to move on to complete customization. You'll find that child themes are pretty straightforward to set up, and as you'll see it's a perfect vehicle for your custom designs.
- Using the Dynamically-Related Files feature in Dreamweaver to design WordPress pages
- Applying WordPress themes
- Customizing themes
- Adding Spry widgets
- Adding WordPress dynamic data
- Populating the WordPress database
- Publishing a WordPress site