TL;DR: If you are building or modifying a WordPress site in Singapore without a child theme, every parent theme update will silently overwrite every customisation you have made. This is not a theoretical risk — it is a routine occurrence that costs developers and site owners hours of rework. This guide explains child themes, when you need one, and exactly how to create one in under 10 minutes.
What Is a WordPress Child Theme and Why Does It Matter?
A child theme inherits all the functionality and styling of its parent theme while storing your customisations separately. When the parent theme updates, your changes in the child theme remain untouched. Without a child theme, every modification you make to theme files — CSS tweaks, template overrides, functions.php additions — is destroyed the moment you click Update on the parent theme.
When You Need a Child Theme
| Scenario | Child Theme Required? | Why |
|---|---|---|
| Adding custom CSS to a theme | Yes | Custom CSS in parent theme files is overwritten on update |
| Modifying template files (header.php, footer.php) | Yes | Template changes in parent are overwritten on update |
| Adding code to functions.php | Yes — or use Code Snippets plugin | Parent functions.php overwritten on update |
| Using Elementor or Gutenberg only for design | No — optional | Page builder stores design in database, not theme files |
| Using Astra, GeneratePress, or Kadence | Recommended | These themes support hooks and custom CSS natively, but child theme is still best practice |
| Building a custom theme from scratch | N/A — you are the parent | No update risk — you control the codebase |
How to Create a WordPress Child Theme in 4 Steps
- Create a new folder in /wp-content/themes/ named: your-parent-theme-child (e.g. astra-child)
- Create style.css in that folder with this header:
/* Theme Name: Astra Child Template: astra */ @import url("../astra/style.css"); - Create functions.php in the child theme folder to enqueue parent styles properly
- Activate the child theme in WordPress Dashboard → Appearance → Themes
Child Theme vs Code Snippets Plugin: Which to Use?
| Use Case | Child Theme | Code Snippets Plugin |
|---|---|---|
| Custom CSS tweaks | Yes — style.css in child theme | No — CSS in Additional CSS is fine for small tweaks |
| PHP function additions | Yes — functions.php in child theme | Yes — Code Snippets plugin is cleaner for non-developers |
| Template file overrides | Yes — only method available | No — cannot override template files |
| Team environments (multiple developers) | Yes — version-controllable | No — stored in database, harder to version control |
Best Practice: Child Theme Structure for Elementor Pro Builds
For Singapore websites built on Hello Elementor or Astra with Elementor Pro, the child theme should contain: a minimal style.css with theme declaration, a functions.php that enqueues parent styles and registers any custom font or script, and a /templates/ folder for any custom page templates. All design work happens in Elementor — the child theme handles technical overrides and customisations that Elementor cannot manage within its own interface.
At iDesignyour.site, every WordPress site we build uses a properly structured child theme as a baseline — your customisations are always safe from theme updates. Build on a solid WordPress foundation.