So lets start with the basics. What is WordPress?
WordPress is a free blogging platform, that is installed on a server - your Web hosting space and usually in the root of your domain (ie. www.yourdomain.com). WordPress is known as a content management system (CMS) and makes Web development very easy.
What is a WordPress Theme?
A theme is a set of files that are uploaded into WordPress to adjust the overall appearance and increase functionality of the site/blog.
What is a Child Theme?
According to WordPress.org: “A WordPress child theme is a theme that inherits the functionality of another theme, called the parent theme, and allows you to modify, or add to, the functionality of that parent theme.”
Why use a Child Theme?
A child theme can “modify the styling and layout of a parent theme to any extent without editing the files of the parent theme itself. That way, when the parent theme is updated, your modifications are preserved.” Source: WordPress.org
Simply stated, using a child theme protects any back-end hacks or tweaks you (or your programmer) have done to the theme. By keeping all the adjustments in the child theme, you are able to upgrade the parent theme and not risk losing any of changes and tweaks.
StudioPress explains the relationship between the parent theme and child theme this way: “The Genesis parent theme is the cell phone, and the child theme is the case you hold it in. You’ll always use the same phone, but if you want to change the way it looks on the outside, you put a cover on it to make it look different. The same holds true with a child theme – as that is what “decorates” the way your theme looks.”
There are two main benefits to using a child theme:
- It is safe to upgrade the parent theme because any changes made to the child theme will stay in the child theme. Changes and hacks will not be lost with an upgrade, because the parent theme doesn’t get edited.
- Child themes allow designers to use the same platform, (Genesis Framework, for example) and just choose an appropriate child theme depending on the client/project. Once you find a developer that you like and trust - why switch around?