Child themes
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.