Skip to content
Sign in Get the free theme
Menu
Developer docs menu

Child themes

Applies to Theme 0.2.1 Updated 8 October 2026 View as Markdown

A child theme keeps your changes when LanternWP updates. Companion's demo import works on it too: it needs LanternWP or a child theme of it.

Create one

Make a folder beside lanternwp in wp-content/themes, with a style.css:

/*
Theme Name: My Store
Template: lanternwp
*/

and, if you change any settings or styles, a theme.json with only what differs. WordPress merges it over LanternWP's, so a child theme that sets one colour keeps everything else:

{
	"$schema": "https://schemas.wp.org/trunk/theme.json",
	"version": 3,
	"settings": {
		"color": {
			"palette": [
				{ "slug": "primary", "color": "#1f4d3a", "name": "Primary" }
			]
		}
	}
}

A palette, font size or spacing list replaces LanternWP's list as a whole, so copy every entry of a list you change. A store that started from a demo has the demo's look on the same layer, over LanternWP's theme.json and the child theme's: where both set a value, the demo's wins, and the owner's changes in Styles win over both. That look is a theme mod of the active theme, so a child theme activated after the import starts without it until it is applied again (wp lanternwp demo look, or Use the look only in Appearance → Demos). The slugs are in the presets reference and are part of the public API: patterns and styles refer to them.

Templates and parts

A file in the child theme's templates/ or parts/ replaces LanternWP's file of the same name, such as parts/header.html. Keep the part slugs header, footer, checkout-header and checkout-footer; the demo import and the patterns use them.

Changes made in the Site Editor are saved in the database and win over files, the child theme's too. A demo import also writes some there: the header and footer it uses and the designs of the catalog, search and product templates. To see a file's version again, open the template or part in the Site Editor and reset it.

Patterns

Pattern slugs are public, so a pattern you insert keeps working across updates; their markup is not, so copy a pattern into your child theme's patterns/ with a slug of your own before changing it. The patterns reference lists them.

Was this page helpful?
Something wrong on this page? Report it. Something missing? Suggest it.