Child Theme Basics

How to create a Blaskan child theme to make safe, updatable customizations to the WordPress theme without editing core files.

Code editor showing a WordPress child theme style.css header and functions.php file

When you want to change how Blaskan looks or behaves, editing the theme files directly is tempting but creates a problem: the next time Blaskan updates, your changes are overwritten. A child theme solves this. It is a separate theme folder that inherits everything from Blaskan (the parent theme) and lets you override only what you need to change. Updates to Blaskan do not touch the child theme folder.

This page covers the minimum structure required to create a Blaskan child theme and the most common customizations.

What a Child Theme Consists Of

A child theme only needs two files to work:

  • style.css with the required header comment
  • functions.php to enqueue the parent theme's styles

Everything else is optional. You add template files only when you need to override a specific template.

Creating the Child Theme Directory

In your WordPress installation, navigate to wp-content/themes/. Create a new folder. The convention is to name it after the parent theme with -child appended. For Blaskan, a reasonable name is blaskan-child.

The style.css Header

Inside blaskan-child/style.css, the file must open with a specific comment block. WordPress reads this comment to identify the theme. The key line is Template: which tells WordPress which parent theme to use.

/*
 Theme Name:   Blaskan Child
 Theme URI:    https://yoursite.com
 Description:  A child theme for Blaskan
 Author:       Your Name
 Author URI:   https://yoursite.com
 Template:     blaskan
 Version:      1.0.0
 Text Domain:  blaskan-child
*/

The Template: value must match the folder name of the parent theme exactly (lowercase, as it appears in wp-content/themes/). If Blaskan is installed in a folder named blaskan, then Template: blaskan is correct.

After the header comment, you can add any CSS you want to override or extend. This CSS loads after the parent theme's CSS, so your rules take precedence.

The functions.php File

The child theme's functions.php is responsible for properly loading the parent theme's stylesheet. Create blaskan-child/functions.php with:

<?php
add_action( 'wp_enqueue_scripts', 'blaskan_child_enqueue_styles' );

function blaskan_child_enqueue_styles() {
    wp_enqueue_style(
        'blaskan-parent-style',
        get_template_directory_uri() . '/style.css'
    );
}

get_template_directory_uri() always returns the parent theme URL regardless of which theme is active. This is important: do not use get_stylesheet_directory_uri() here, which would return the child theme URL and cause the parent styles to not load.

If you also want to load the child theme's style.css (to apply the overrides you added there), add a second wp_enqueue_style call with the child theme's stylesheet URL and declare it as dependent on the parent style:

wp_enqueue_style(
    'blaskan-child-style',
    get_stylesheet_directory_uri() . '/style.css',
    array( 'blaskan-parent-style' ),
    wp_get_theme()->get( 'Version' )
);

The array( 'blaskan-parent-style' ) parameter tells WordPress to load the parent style before the child style, which ensures your overrides apply correctly.

Activating the Child Theme

Go to Appearance > Themes in the WordPress admin. The child theme appears as a separate theme. Click Activate. Your site now runs on the child theme. Blaskan (the parent) remains installed and provides all templates, scripts, and styles that the child theme does not explicitly override.

Overriding Templates

To change how a specific part of the site renders, copy the relevant template file from the Blaskan folder into the child theme folder, maintaining the same directory structure, and edit the copy.

For example, to modify the single post template: copy blaskan/single.php to blaskan-child/single.php, then edit the child theme copy. WordPress's template hierarchy checks the child theme folder first, so your modified version is used instead of the parent's.

Templates you have not copied continue to be served from the parent theme. You only override what you need.

Naming and Organization Conventions

  • Keep the child theme folder name lowercase with no spaces
  • Match the Template: value to the exact folder name of the parent theme
  • Use the child theme's Text Domain consistently if you add any translatable strings
  • Document any non-obvious overrides in comments within the relevant file

For questions about what can be customized at the theme settings level (without needing a child theme), see the customization overview and header, logo, and menu behavior. For support with a specific implementation, see the support page.

Reading notes

Theme notes and layout thinking, direct to your inbox.

No noise. Occasional writing on blog design, readability, and what makes WordPress themes hold up over time.