---
title: Child theme
description: "When you need a child theme, how to install the ready-made Candy Shop Child, and what it can override."
url: "https://wpruby.com/knowledgebase/candy-shop-child-themes/"
updated: "2026-11-04"
category: WPRuby Themes / Candy Shop
---

# Child theme

Table of Contents

 [Toggle](#)

- [Do you need one?](#Do_you_need_one)
- [Install Candy Shop Child](#Install_Candy_Shop_Child)
- [What’s inside](#Whats_inside)
- [What the child theme can change](#What_the_child_theme_can_change)

## Do you need one?

Usually not. Changes you make in the Site Editor (styles, templates, headers, footers) are saved in your site's database, so theme updates don't overwrite them.

A child theme is worth it when you want to keep custom CSS, templates, patterns or PHP in files, for example under version control or to reuse on several sites.

## Install Candy Shop Child

1. Download **`candy-shop-child.zip`** from your [WPRuby account](https://wpruby.com/my-account/), next to the Candy Shop download.
2. Keep Candy Shop installed: the child theme needs it.
3. Go to **Appearance → Themes → Add New Theme → Upload Theme**, upload `candy-shop-child.zip` and activate **Candy Shop Child**.

Your licence and updates stay with Candy Shop. Activate the licence on **Appearance → Candy Shop** as usual; Candy Shop keeps getting updates while the child theme is active, and updates never touch the child theme's files.

## What’s inside

| File | What it does |
| --- | --- |
| `style.css` | Your CSS. It loads after Candy Shop's styles, including its WooCommerce styles |
| `functions.php` | Loads `style.css`. Add your own PHP here, with your own prefix (for example `candy_shop_child_`) |
| `theme.json` | Empty to start. Anything you add is merged with Candy Shop's: list only what you change |

## What the child theme can change

| To change | Add to the child theme |
| --- | --- |
| Colors, fonts, spacing | `theme.json` |
| A template | `templates/<name>.html`, with the same name as Candy Shop's (for example `single-product.html`) |
| A header or footer | `parts/<name>.html` |
| A pattern | `patterns/<name>.php`, with the same file name as Candy Shop's |
| Behavior | PHP in `functions.php`, using the [hooks and filters](https://wpruby.com/knowledgebase/candy-shop-hooks/) |

Files you add replace Candy Shop's files of the same name. To start from Candy Shop's version, copy the file from the theme and change the copy.

**Site Editor changes still win.** A template or part you've edited and saved in the Site Editor is stored in the database and is used instead of both themes' files. Reset it (**⋮ → Reset**) to use the file.
