WordPress 2.7 now features parent/child WordPress Themes, a new feature that protects installed WordPress Themes while allowing customization. Customizations are storied in the “child” Theme, which loads first. If a Child Theme isn’t detected, WordPress loads the “parent” Theme.
If you do not intend on making any customization to your WordPress Theme on your WordPress blog, then this issue isn’t for you. If you are planning on designing your own Theme for your own use, then this also doesn’t pertain to you.
However, if you are using a WordPress Theme that you want to customize and not lose the customization features when the Theme upgrades, then this is information you need to know.
If you are designing WordPress Themes for the public, you need to understand how WordPress Child Themes work.
Creating a strong parent WordPress Theme framework is critical for WordPress Theme development, as described in “How To Protect Your WordPress Theme Against Upgrades” by Ian Stewart, the man behind the leading drive toward including Child Themes in WordPress Core. The technique was adopted by other leading WordPress developers including Justin Tadlock, frustrated with the fear of updating WordPress Themes and protecting user customizations. Protecting the parent Theme made sense, allowing the child Theme to hold all the customization, protected from being overwritten by updates to the Parent.
Think of the parent/child feature of WordPress like selecting blueprints for construction of your new home. You look at the various room placements and sizes, the layout, the traffic flow, the architectural specifications that you prefer. You know the decision of which floor plan to choose isn’t based upon the desire to have the walls in the kitchen painted yellow with green stonework, or the carpet in the bedrooms be blue with wood floors in the living areas. It isn’t about the wall paper, curtains, or paint. You just want the master bedroom far from the room where the kids will be playing and watching movies all night. The paint and carpets come later.
Once you have the floor plan and blueprints selected, and the house is under construction, then it’s time to start hunting up paint and carpet samples to begin the home decoration process.
The floor plan blueprint, in this simple analogy, is the parent WordPress Theme. It sets the overall structure of the design. The decorations are found in the Child Theme, with the stylesheet guiding the paint, carpet, wall paper, and home decorations.
Parent WordPress Themes come with their own design set, but the core feature of parent WordPress Themes is their ability to switch the design elements around with a child Theme.
This new feature will change how you use WordPress Themes in the future.
The Future of WordPress Themes
While part of the purpose of the parent/child WordPress Theme feature is to protect the original WordPress Theme from design changes, allowing the user to change the child Theme without impacting the original code, which makes upgrading Themes easier. The future of WordPress is moving towards implementation of auto-upgrading and installing of WordPress Themes, and reliance on parent/child Themes makes this process possible.
In the past, you would download and install any WordPress Theme and that would be it. If the license permitted it, you could customize the Theme to make it work for you and your blog. If a new version of that Theme came along, installing it on your blog would replace all your customization features. You’d have to spent time integrating your custom design modifications into the newly updated Theme. This left many Themes vulnerable to hackers as people didn’t want to go through the trouble of upgrading their Themes.
With automatic uploading and updating of WordPress Themes coming in a future version of WordPress, the parent/child Theme feature works for both purposes. The user can customize the child Theme, and next time the Theme is updated with patches, bug fixes, and security repairs, the customization features are not lost. They remain protected.
More importantly, the world of WordPress Themes will change as you will have two core choices in a WordPress Theme. You can choose a basic “parent” Theme or choose a parent Theme that has the “floor plan” or framework you like and then choose from among the various child Themes to create a customize version of the parent. This gives whole new meaning to the phrase “variations on a theme.”
For example, the popular Thematic Theme features the following child Themes to choose from to personalize the parent Thematic Theme:
Each is a variation on the Thematic Theme, giving the user a lot more options when they find the core look they like.
This makes choosing WordPress Themes for future compatibility with upcoming versions of WordPress a little more complex for long time users of WordPress, but easy for newer users not entrenched in older Theme design practices.
If you want total control over your WordPress Theme, and will not be uploading a replacement or upgrade from the WordPress Themes Directory, then it is up to you to ensure your WordPress Theme continues to be updated if security warnings are issued, and to update it yourself if WordPress changes.
If you do not want to mess around with the code of WordPress Themes, you now will have two options.
- You can download any WordPress Theme as before. If upgraded from the WordPress Theme Directory, it will be replaced, and any customization lost.
- You can download a parent Theme and then choose from among its one or more child Theme designs to customize the parent Theme. All customization will be stored in the child Theme.
I expect a lot of people to begin offering child Themes in addition to some interesting parent Themes. Be sure which type of Theme you are downloading when you choose one. You will need to choose a parent Theme and then a child Theme to paint the walls of your WordPress blog.
More Information on Parent/Child Themes in WordPress
Building a parent/child WordPress Theme isn’t difficult. For information on developing and working with parent/child WordPress Themes, here are some tutorials and helpful articles:
- How to Make a “Child Theme” for WordPress
- Frameworks, Child Themes, Filters, and Hooks?
- Child Themes in WordPress 2.7 – Part 1 and Part 2
- How I used a WordPress Child Theme To Redesign My Blog The Smart Way
- Designing For Sandbox
- WordPress Codex: Theme Style Sheet
- Why I created a WordPress Theme Framework
- A quick word on WordPress Child Themes
- When should you not use a child theme
- How To Make Any WordPress Theme A Blank Framework
- Themeshaper: How To Protect Your WordPress Theme Against Upgrades
- Creating WordPress Child Themes
- Installing WordPress Child Themes and Customizing the Byty Theme
- Exploring WordPress Frameworks and Child Themes
- WordPress Theme Modifications should be made in Child Themes