The most painful WordPress lesson: you worked two days on theme edits, an update came and everything vanished. Updates OVERWRITE theme files. Here is how to do it properly.
The easiest solution: Additional CSS
For small cosmetic tweaks (button colour, heading size, hiding an element): Appearance → Customize → Additional CSS. It survives updates and covers 80% of cases.
When you need a child theme
When you change more than style: page structure, functions.php additions, templates (single.php, header.php). A child theme is a thin theme that inherits everything from the parent while your changes live in it — parent updates never touch them.
How to create one (easiest)
- A plugin: Child Theme Configurator or Generate Child Theme → pick the parent → Create → activate. Two minutes.
- Manually: a new folder your-theme-child with style.css (including Template: parent-name) and a functions.php that loads the styles
The rules
- Never edit files in the parent theme — not even one line
- Copy modified templates into the child with the SAME path and name
- After creating: activate the child theme and check everything still looks right
- Careful: widgets and some settings are tied to the theme and may need reassigning
When you do not need one
If you use Elementor or Gutenberg for layout and the theme is just a base — Additional CSS is usually enough. An unnecessary child theme is one more layer to maintain.
The most common mistake we see
A developer changed something in the theme — and nobody knows what, where or why. After an update the site looks different and nobody can restore it. So: changes in a child theme or CSS, and write down what you changed.