Table of Contents
How to Create a Child Theme #How to Create a Child Theme #
1. Create a child theme folder #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 #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. This tells WordPress basic info about the theme, including the fact that it is a child theme with a particular parent.
/*
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, right-sidebar, responsive-layout, accessibility-ready
Text Domain: twentyfifteenchild
*/
The following information is required:
- Theme Name – needs to be unique to your theme
- Template – the name of the parent theme directory. The parent theme in our example is the Twenty Fifteen theme, so the Template will be
twentyfifteen
. You may be working with a different theme, so adjust accordingly.
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
.
You will therefore need to create a functions.php
in your child theme directory. 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. The following example function will only work if your Parent Theme uses only one main style.css
to hold all of the css. If your child theme has more than one .css
file (eg. ie.css
, style.css
, main.css
) then you will have to make sure to maintain all of the Parent Theme dependencies.
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
$parent_style = 'parent-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme()->get('Version')
);
}
Activate child theme #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. (If your WordPress installation is multi-site enabled, then you may need to switch to your network Administration Screen to enable the theme (within the Network Admin Themes Screen tab). You can then switch back to your site-specific WordPress Administration Screen to activate your child theme.)