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
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 San Francisco Bay area of California. Topics I write about on this blog include technical writing, authoring and publishing tools, API documentation, tech comm trends, visual communication, technical writing career advice, information architecture and findability, developer documentation, and more. If you're a professional or aspiring technical writer, be sure to subscribe to email updates using the form above. You can learn more about me here.