Create a Child Theme to Customize a WordPress Theme
If you're customizing a WordPress theme, it's best to create a child theme out of the WordPress theme. With a child theme, you can update the parent theme when updates are available. Any customizations you make to the child theme will be retained.
Here's how it works.
- If you'll be creating a child theme for the Twenty Twelve theme (whose folder in wp-content/themes is "twentytwelve"), create a folder called twentytwelve-child and upload it to wp-content/themes.
- Create a style.css file and add this to it:Theme Name: Twentytwelve Child
Description: Child theme for the twentytwelve theme Your name here Template: twentytwelve @import url("../twentytwelve/style.css");
- In the Template field, change twentytwelve to whatever folder your parent theme is in. This field is the only really significant field up there.
- Change the Theme Name and any other details you want.
- For the @import url, change the URL to refer to your parent theme's stylesheet. Then upload your style.css file to the twentytwelve-child folder.
- Activate your child theme by going to Appearance > Themes and select the Child theme. If you want a screenshot there as other themes display, add a screenshot.png file to your child theme folder. Now any changes you make to your child theme's stylesheet will overwrite the parent theme's styles. Additionally, any files you add, such as page.php or single.php, will overwrite the parent theme's files. If you add a functions.php file, the functions.php file information will be added to the parent's functions.php file rather than overwriting it.
When the parent theme gets updated, just apply the update to the parent folder and your child theme's customizations will remain in tact.
Here's a video showing the process:
See the Child Themes page on the WordPress Codex for more information.
I'd Rather Be Writing Newsletter
Get new posts delivered straight to your inbox.
About Tom Johnson
I'm a technical writer based in the California San Francisco Bay area. In this blog, I write about topics related to technical communication — Swagger, agile, trends, learning, plain language, quick reference guides, tech comm careers, academics, and more. I'm interested in simplifying complexity, API documentation, visual communication, information architecture and findability, and more. If you're a technical writer of any kind (progressional, transitioning, student), be sure to subscribe to email updates using the form above. You can learn more about me here. You can also contact me with questions.