A WordPress Child Theme allows you to change small aspects of your site’s appearance yet still preserve your theme’s look and functionality. To understand how child themes work it is first important to understand the Parent theme and Child Theme and what is the relationship between parent and child themes so let’s start.
What is a Parent Theme?
A parent theme is a complete theme that includes all of the required WordPress template files and assets for the theme to work. All themes – excluding child themes – are considered parent themes.
What is a Child Theme?
As indicated in the overview, a WordPress child theme inherits the look and feel of the parent theme and all of its functions, but can be used to make modifications to any part of the theme. In this way, customizations are kept separate from the parent theme’s files. Using a child theme lets you upgrade the parent theme without affecting the customizations you’ve made to your site.
Child themes:
- make your modifications portable and replicable;
- keep customization separate from parent theme functions;
- allow parent themes to be updated without destroying your modifications;
- allow you to take advantage of the effort and testing put into parent theme;
- save on development time since you are not recreating the wheel; and
- are a great way to start learning about theme development.
How to Create a Child Theme?
To create a custom child theme you need to create a child theme folder and two files. The first one is style.css and the second one is function.php and these two files are necessary to in child theme folder, and function.php file is used to enqueue. Full Explanation is below.
1. Create a child theme folder
First, create a new folder in your themes directory, located at wp-content/themes
. The directory needs a name. It’s best practice to give a child theme the same name as the parent, but with -child
appended to the end. For example, if you were making a child theme of twentyfifteen
, then the directory would be named twentyfifteen-child
.
2. Create a stylesheet: style.css
Next, you’ll need to create a stylesheet file named style.css
, which will contain all of the CSS rules and declarations that control the look of your theme. Your stylesheet must contain the below required header comment at the very top of the file.
[php]
/*
Theme Name: Twenty Fifteen Child
Theme URI: http://example.com/twenty-fifteen-child/
Description: Twenty Fifteen Child Theme
Author: John Doe
Author URI: http://example.com
Template: twentyfifteen
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: light, dark, two-columns, responsive-layout
Text Domain: twentyfifteenchild
*/
[/php]
3. Enqueue stylesheet
The final step is to enqueue the parent and child theme stylesheets. The recommended way of enqueuing the parent theme stylesheet currently is to add a wp_enqueue_scripts action and use wp_enqueue_style() in your child theme’s functions.php
.
The first line of your child theme’s functions.php
will be an opening PHP tag (<?php), after which you can enqueue your parent and child theme stylesheets.
[php]
<?php
add_action( ‘wp_enqueue_scripts’, ‘my_theme_enqueue_styles’ );
function my_theme_enqueue_styles() {
wp_enqueue_style( ‘parent-style’, get_template_directory_uri().’/style.css’);
}
?>
[/php]
4. Activate child theme
Your child theme is now ready for activation. Log in to your site’s Administration Screen, and go to Administration Screen > Appearance > Themes. You should see your child theme listed and ready for activation.
Create Customize WordPress Child Theme