Neste artigo
Quando você faz alterações diretamente nos arquivos de um tema WordPress — editando o style.css, o functions.php ou qualquer template — essas alterações são sobrescritas na próxima atualização do tema. Um child theme resolve esse problema: ele herda tudo do tema pai, mas mantém suas personalizações separadas e protegidas.
Por que usar um child theme
- Proteção contra atualizações — suas alterações ficam em arquivos separados e não são sobrescritas
- Organização — todo o código personalizado fica em um único lugar, fácil de gerenciar e versionar
- Segurança — você pode atualizar o tema pai normalmente, recebendo correções de segurança
- Reversibilidade — se algo der errado, basta reativar o tema pai e tudo volta ao normal
Se você está usando um page builder (Elementor, Beaver Builder) e faz todas as personalizações por ele, um child theme pode ser desnecessário. As alterações feitas pelo page builder são salvas no banco de dados, não nos arquivos do tema.
Como funciona um child theme
Um child theme é, no mínimo, uma pasta com dois arquivos: style.css (com um cabeçalho que indica qual é o tema pai) e functions.php (que carrega os estilos do tema pai). O WordPress primeiro carrega o tema pai e depois aplica por cima as personalizações do child theme.
Se você criar um arquivo de template no child theme com o mesmo nome de um do tema pai (por exemplo, header.php), o WordPress usará a versão do child theme em vez da original. Isso permite sobrescrever qualquer template sem modificar o tema pai.
Criar o child theme passo a passo
Vamos criar um child theme para o tema Astra (o processo é idêntico para qualquer tema). Você vai precisar de acesso via FTP ou pelo gerenciador de arquivos da hospedagem.
Crie a pasta do child theme
Acesse /wp-content/themes/ e crie uma pasta chamada astra-child (o nome pode ser qualquer um, mas a convenção é usar [tema-pai]-child).
Crie o arquivo style.css
Dentro da pasta astra-child, crie um arquivo style.css com este conteúdo:
/*
Theme Name: Astra Child
Template: astra
Version: 1.0
*/
O campo Template deve conter exatamente o nome da pasta do tema pai (em minúsculas). Para outros temas, mude astra para o nome correto.
Crie o arquivo functions.php
Na mesma pasta, crie um arquivo functions.php com este código:
<?php
add_action('wp_enqueue_scripts', function() {
wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
});
Esse código garante que os estilos do tema pai sejam carregados antes dos estilos do child theme.
Ative o child theme
No painel WordPress, vá em Aparência → Temas. O child theme aparecerá na lista. Clique em Ativar. O site deve manter a mesma aparência — agora usando o child theme.
Personalizar o child theme
Adicionar CSS personalizado
Abra o style.css do child theme e adicione suas regras abaixo do cabeçalho. Elas serão carregadas após o CSS do tema pai e, portanto, terão prioridade.
Adicionar funções PHP
Use o functions.php do child theme para adicionar hooks, filtros, custom post types, shortcodes e qualquer funcionalidade extra. O functions.php do child theme é carregado antes do tema pai, não depois.
Sobrescrever templates
Para modificar um template (como header.php, single.php ou footer.php), copie o arquivo do tema pai para o child theme e edite a cópia. O WordPress usará automaticamente a versão do child theme.
Ao sobrescrever templates, você perde as atualizações desse template específico. Use hooks e filtros sempre que possível — sobrescreva templates apenas quando não houver alternativa.
Dicas e boas práticas
- Mantenha o child theme em controle de versão (Git) para rastrear alterações
- Documente as alterações — adicione comentários explicando o que cada mudança faz
- Use o Customizer do WordPress para alterações visuais simples antes de editar arquivos
- Teste em ambiente de staging antes de alterar o site em produção
- Não coloque plugins no child theme — use a pasta padrão de plugins
