O child theme é o tema-filho que herda tudo do tema pai e guarda suas personalizações em arquivo separado, sobrevivendo a qualquer atualização. Segundo o WordPress Theme Handbook (2024), o functions.php do child não sobrescreve o do pai: os dois carregam, o child primeiro. Bastam dois arquivos, style.css e functions.php, para começar. Faça isso antes de tocar em uma linha de CSS do tema original.
Um child theme WordPress é um tema que herda o layout e as funções de um tema pai e armazena suas alterações em uma pasta própria. Você edita o child, não o tema original, e por isso a próxima atualização do tema pai não apaga nada do seu trabalho. No suporte da FULL, a gente vê que a perda de CSS após atualizar o tema é uma das causas mais frequentes de site que “voltou ao normal” sozinho. Este tutorial mostra como criar um child theme em cinco passos, com style.css, functions.php e o wp_enqueue_style correto. Para ver os temas certos para personalizar, comece pela categoria de artigos de temas WordPress da FULL.
Primeiros passos: Visão geral do child theme
Criar um child theme exige só dois arquivos e cerca de 15 minutos: um style.css com o cabeçalho que aponta para o tema pai e um functions.php que carrega o estilo herdado. O child theme não copia o tema pai, ele aponta para ele, e por isso o peso final fica próximo de zero. A tabela abaixo resume cada arquivo e o que valida que ele está correto.
| Arquivo / etapa | Objetivo | Check de validação |
|---|---|---|
| Pasta do tema | Isolar o child em wp-content/themes | Nome em kebab-case, ex. astra-child |
| style.css | Declarar herança via campo Template | Template = slug exato do tema pai |
| functions.php | Enfileirar o style.css herdado | wp_enqueue_style no hook wp_enqueue_scripts |
| Ativação | Trocar o tema ativo pelo child | Site idêntico ao pai após ativar |
| Personalização | Editar CSS e templates só no child | Atualização do pai não apaga nada |
Quatro ferramentas resolvem o trabalho: o Editor de Arquivos do WordPress, um cliente FTP como o Filezilla, o gerenciador de arquivos da hospedagem e o WP-CLI com wp scaffold child-theme. O resultado funciona com Astra, GeneratePress, Kadence ou qualquer tema clássico.
Passo a passo: Como criar o child theme WordPress
Montar o child theme leva 5 passos e nenhum exige editar o tema pai. A regra de ouro vem do Theme Handbook oficial: o campo Template no style.css precisa ser “100% igual ao nome da pasta do tema pai”. Errar esse campo é o motivo número um de tema quebrado no painel. Siga os passos na ordem.
Passo 1: Crie a pasta do child theme
Crie uma pasta dentro de wp-content/themes com nome em kebab-case, por convenção o slug do tema pai mais o sufixo -child (ex. astra-child). Use o gerenciador de arquivos da hospedagem, FTP ou WP-CLI. A pasta vazia ainda não é um tema válido, ela só vira tema quando ganha o style.css do passo 2. Mantenha o nome em minúsculas e sem acento, porque o WordPress usa esse nome como identificador interno do tema.
Legenda: a pasta do child theme fica lado a lado com o tema pai, nunca dentro dele.
Passo 2: Escreva o style.css com o cabeçalho
Crie um style.css na pasta e abra-o com o cabeçalho de comentário que o WordPress lê para reconhecer o tema. O campo decisivo é o Template, que precisa bater exatamente com o nome da pasta do tema pai, relativo a wp-content/themes. Se o tema pai é o Astra, cuja pasta é astra, então Template: astra. Qualquer divergência aqui, até uma maiúscula, faz o WordPress não enxergar a herança e marcar o tema como quebrado.
/*
Theme Name: Astra Child
Template: astra
Version: 1.0.0
*/
Passo 3: Crie o functions.php e enfileire o estilo
Crie um functions.php na pasta do child e use wp_enqueue_style dentro do hook wp_enqueue_scripts para carregar o style.css herdado. O Theme Handbook é direto: o método ideal é o tema pai carregar os dois arquivos de estilo, e quando ele não faz isso sozinho, você enfileira o estilo do pai manualmente. Não copie funções inteiras do functions.php do tema pai: como os dois arquivos carregam juntos, nomes de função duplicados geram fatal error imediato.
<?php
add_action( 'wp_enqueue_scripts', 'astra_child_enqueue' );
function astra_child_enqueue() {
wp_enqueue_style( 'astra-child-style', get_stylesheet_uri() );
}
Passo 4: Ative o child theme no painel
Vá em Aparência > Temas, encontre o child theme e clique em Ativar. Logo após ativar, o site deve ficar visualmente idêntico ao tema pai, porque o child ainda não tem nenhuma regra própria, só herda. Se o layout quebrar nesse momento, o problema quase sempre está no campo Template do passo 2 ou no enqueue do passo 3. Esse teste de “ficou igual?” é o seu sinal verde antes de personalizar qualquer coisa.
Passo 5: Personalize só no child theme
Agora adicione seu CSS no style.css do child, abaixo do cabeçalho, e suas funções no functions.php do child. Para sobrescrever um template, copie só o arquivo específico do tema pai (ex. header.php) para a pasta do child e edite a cópia. A partir daqui, toda atualização do tema pai preserva integralmente o seu trabalho, que é exatamente o motivo de existir o child theme. Para ir além do básico, veja os recursos para aprender a criar temas WordPress.
Por que o child theme protege suas personalizações
O child theme protege seu CSS porque separa o que é seu do que é do desenvolvedor do tema, e a atualização só toca nos arquivos do tema pai. Quando você edita o style.css original pelo Editor de tema e o WordPress aplica a atualização automática, todo esse CSS é sobrescrito e perde-se na nova versão, sem aviso. Esse é o cenário clássico do site que “desconfigurou do nada”.
Com a personalização morando no child theme, a versão nova do pai entra por baixo e o seu estilo continua por cima. A herança também vale para PHP, mas com uma regra que confunde: diferente dos templates, o functions.php do child não substitui o do pai. Os dois carregam, com o child antes do pai. Na prática, você nunca recria o functions.php inteiro, só adiciona funções no do child. Para ir a fundo, revise os hooks do WordPress e o papel do functions.php e do wp_enqueue.
Quando o child theme não é a melhor escolha
O child theme nem sempre é a ferramenta certa, e em alguns cenários ele só adiciona manutenção. Em sites Elementor, onde quase todo o estilo vive no painel do builder, criar um child theme para três linhas de código vira peso morto. Aí vale mais usar o CSS personalizado direto no Elementor.
- Se você vai mudar só cores e fontes → use o CSS adicional do Personalizar, sem criar arquivo.
- Se você vai sobrescrever templates PHP → crie o child theme, é o único caminho seguro.
- Se o site é todo montado no Elementor → evite o child só para CSS, use o painel do builder.
- Se você adiciona snippets de PHP recorrentes → child theme ou plugin de snippets, o que isolar melhor o código.
Em temas FSE, parte da personalização migrou para o editor de blocos e o theme.json, o que reduz a necessidade do child para estilos simples. O child theme compete por segurança de atualização no código; o CSS do Personalizar compete por rapidez sem arquivo.
Personalização com segurança: A alternativa FULL
Manter um child theme bem configurado em vários sites exige acompanhar atualizações de tema, versão de PHP e compatibilidade de plugins ao mesmo tempo. A FULL conecta mais de 150 mil sites WordPress e, nos tickets de suporte, a gente vê personalização perdida em atualização justamente em quem não usa child theme nem mantém ambiente de testes.
O plano PRO da FULL sai por R$849 e cobre até 10 sites, o que dá R$85 por site, com bundle de plugins premium como Astra PRO e Elementor PRO já incluídos para padronizar temas e personalizações em escala. Veja os planos da FULL para comparar as faixas e ativar o bundle.
Boas práticas de personalização do child theme
Um child theme bem mantido segue quatro práticas que evitam a maioria dos problemas de tema: versionar o style.css, nunca duplicar funções do pai, sobrescrever só os templates necessários e testar antes de publicar. Cada uma corta um erro recorrente nos tickets de tema da FULL.
O versionamento começa pelo campo Version no cabeçalho do style.css, que força o navegador a recarregar o CSS quando você pública uma mudança, eliminando o clássico “atualizei mas não mudou nada”. Em sites com Elementor, lembre que o builder já interfere na performance: CSS duplicado entre child e builder sobrecarrega o render.
Para fontes, prefira enfileirar a fonte pelo functions.php do child em vez de colar @import no CSS, porque o @import bloqueia o render e atrasa o LCP. O guia de como adicionar fontes personalizadas no WordPress mostra o caminho via enqueue. Se o seu tema base é o Astra, o review do tema Astra mostra o que já existe no painel e o que exige child theme.
Perguntas frequentes sobre child theme
Por que o child theme não sobrescreve o functions.php do tema pai?
Porque o functions.php é exceção à regra de herança. Diferente dos templates, que o child substitui, os dois functions.php carregam juntos, com o child imediatamente antes do pai, segundo o Theme Handbook oficial. Por isso você só adiciona funções no do child e nunca copia o do pai inteiro: nomes de função repetidos geram fatal error na hora.
É possível criar um child theme sem saber programar?
Sim, é possível. Os dois arquivos básicos, style.css e functions.php, têm cerca de 8 linhas somadas e podem ser copiados de um modelo. Plugins como o Child Theme Configurator geram tudo automaticamente em 2 ou 3 cliques. Saber PHP só vira necessário quando você for sobrescrever templates ou criar funções próprias, o que é uma etapa posterior e opcional.
Qual a diferença entre child theme e CSS adicional no Personalizar?
O CSS adicional do Personalizar guarda regras visuais simples no banco de dados, sem criar arquivo, e é ideal para mudar cores e fontes em segundos. O child theme cria arquivos reais e é o único caminho para sobrescrever templates PHP e adicionar funções. Para mudança só visual, use o Personalizar; para alterar estrutura ou PHP, use o child theme.
Quanto tempo leva para criar um child theme funcional?
Em torno de 15 minutos para um child theme funcional do zero, somando a criação da pasta, o style.css com o campo Template e o functions.php com o wp_enqueue_style. Com WP-CLI e o comando wp scaffold child-theme, cai para menos de 2 minutos. O tempo extra vem só depois, quando você passa a personalizar templates e adicionar funções específicas.
O que acontece com o child theme quando o tema pai é atualizado?
O child theme continua intacto e o site não perde nenhuma personalização. A atualização toca apenas nos arquivos do tema pai, enquanto o seu CSS e suas funções vivem na pasta do child, que o WordPress não altera. Esse isolamento é exatamente o motivo de existir o child theme: receber correções e recursos novos do tema pai sem reescrever seu trabalho.
Próximos passos para personalizar seu tema com segurança
Criar um child theme WordPress é o primeiro passo para personalizar qualquer site sem medo da próxima atualização, e os cinco passos acima cobrem o caminho do zero ao tema ativo. A partir daqui, a evolução natural é dominar os templates que você pode sobrescrever e organizar o functions.php para escalar sem fatal error. Para continuar aprendendo, o FULL Academy reúne tutoriais, guias e reviews de WordPress em um só lugar, do básico de temas à personalização avançada com builders e FSE.
















