Tema filho no WordPress: como criar e quando usar

Aprenda como criar um tema filho no WordPress e personalize seu site com segurança.

Você personalizou o CSS do tema, adicionou uma função ao functions.php, ajustou o layout de uma página. Na próxima atualização do tema, tudo desapareceu. Se isso já aconteceu com você, ou se você quer evitar que aconteça, um tema filho é a solução.

Quem trabalha com WordPress frequentemente encontra esse cenário: personalizações feitas diretamente nos arquivos do tema pai somem na primeira atualização. Um tema filho cria uma camada separada onde suas modificações ficam protegidas, independentemente de quantas vezes o tema pai for atualizado.

Mas antes de criar um: nem todo site precisa de tema filho. Depende do que você está fazendo.

O que é um tema filho no WordPress

Um tema filho é um tema que herda todas as funcionalidades e o visual de um tema pai, mas permite modificações independentes. Quando você edita o tema filho, o tema pai permanece intocado. Quando o tema pai é atualizado, o tema filho continua funcionando com suas personalizações intactas.

documentação oficial do WordPress define assim: um tema filho é “um tema que herda a funcionalidade de outro tema, chamado de tema pai, e permite modificar ou adicionar à funcionalidade desse tema.”

O canal Hostinger Brasil explica visualmente o conceito de tema filho e por que ele é fundamental para quem faz personalizações no WordPress:

Quando você realmente precisa de um tema filho

Este é o ponto que a maioria dos artigos sobre o tema ignora completamente.

Você PRECISA de tema filho quando:

  • Edita diretamente arquivos PHP do tema (templates, functions.php)
  • Sobrescreve arquivos de template para mudar o layout de posts ou páginas
  • Quer adicionar funções PHP ao tema que não podem ser adicionadas via plugin
  • O tema não oferece uma área nativa de CSS personalizado

Você PODE NÃO PRECISAR de tema filho quando:

  • Só precisa adicionar CSS personalizado: o WordPress tem a opção nativa em Aparência > Customizar > CSS Adicional, que fica salvo no banco de dados e não é afetado por atualizações
  • Usa o Elementor como construtor de páginas: o Elementor salva o design no banco de dados do WordPress, não nos arquivos do tema. Atualizações do tema não afetam páginas construídas com Elementor
  • O desenvolvedor do tema já oferece um tema filho pronto para download

Se você só quer adicionar uma cor diferente a um botão ou ajustar um espaçamento via CSS, verificar primeiro se o seu tema tem uma área de CSS personalizado pode poupar trabalho desnecessário.

Para entender como o Elementor funciona e onde ele salva os dados, veja o que é o Elementor.

Método 1: criar tema filho manualmente

wordpress com org comparacao

A forma mais completa, sem depender de plugins. Você precisa de acesso ao servidor via FTP ou Gerenciador de Arquivos na hospedagem.

Passo 1: crie a pasta do tema filho

Acesse /wp-content/themes/ no servidor e crie uma nova pasta. O nome deve ser o nome do tema pai seguido de -child:

  • Tema pai Astra: crie astra-child
  • Tema pai Hello Elementor: crie hello-elementor-child
  • Tema pai OceanWP: crie oceanwp-child

Sem espaços, sem caracteres especiais, tudo em minúsculas.

Passo 2: crie o arquivo style.css

Dentro da pasta do tema filho, crie um arquivo chamado style.css com o seguinte conteúdo:

/*
Theme Name: Astra Child
Theme URI: https://meusiteweb.com
Description: Tema filho do Astra
Author: Sara Lima
Author URI: https://meusiteweb.com
Template: astra
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
*/

A linha mais importante é Template: astra. Ela precisa corresponder exatamente ao nome da pasta do tema pai no servidor. Se o tema pai está em /themes/astra/, o valor aqui é astra.

Atenção à prática desatualizada: muitos guias ainda ensinam a chamar o CSS do tema pai dentro do style.css do tema filho com @import. Isso está errado desde o WordPress 3.x e causa carregamento lento. O método correto é enfileirar via functions.php, como no passo seguinte.

Passo 3: crie o arquivo functions.php

Ainda dentro da pasta do tema filho, crie um arquivo chamado functions.php:

<?php
function meu_tema_filho_enqueue_styles() {
    wp_enqueue_style(
        'parent-style',
        get_template_directory_uri() . '/style.css'
    );
    wp_enqueue_style(
        'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array( 'parent-style' ),
        wp_get_theme()->get('Version')
    );
}
add_action( 'wp_enqueue_scripts', 'meu_tema_filho_enqueue_styles' );

Este código garante que os estilos do tema pai sejam carregados primeiro, e depois os do filho. A função wp_get_theme()->get('Version') usa o número de versão do tema filho para controle de cache.

Passo 4: ative o tema filho

No painel do WordPress, acesse Aparência > Temas. O tema filho aparece como um tema separado com o nome definido no style.css. Clique em Ativar.

Após ativar, acesse o site e verifique se o visual está igual ao do tema pai. Se algo quebrou, a causa mais comum é um erro de digitação no campo Template: do style.css.

Método 2: via plugin (mais rápido)

Se você prefere não lidar com FTP, o plugin Child Theme Configurator é o mais confiável e está ativamente mantido, com mais de 70.000 instalações ativas e atualizado em junho de 2025.

Como usar:

  1. Instale e ative o Child Theme Configurator
  2. Acesse Ferramentas > Child Themes
  3. Selecione o tema pai na lista
  4. Configure nome, autor e prefixo do tema filho
  5. Clique em Create Child Theme

O plugin gera os arquivos style.css e functions.php automaticamente com o código correto. Ativa o tema filho automaticamente ao finalizar.

WP Child Theme Generator é uma alternativa mais simples com menos opções, mas suficiente para a maioria dos casos.

O que você pode personalizar no tema filho

Com o tema filho ativo, qualquer modificação feita nos seus arquivos tem prioridade sobre o tema pai.

CSS personalizado: adicione regras CSS diretamente no style.css do tema filho. Elas sobrescrevem os estilos do tema pai sem modificá-lo.

/* Exemplo: mudar a cor dos títulos H2 */
h2 {
    color: #1a73e8;
    font-weight: 700;
}

Funções PHP: adicione novas funções ao functions.php do tema filho. Para modificar uma função existente do tema pai, consulte a documentação do tema para saber se ela é “plugável” (pode ser sobrescrita).

Arquivos de template: para modificar o layout de uma página específica, copie o arquivo de template do tema pai para a mesma localização no tema filho e edite sua cópia. O WordPress sempre usa o arquivo do tema filho quando ele existe.

Para entender como manter o tema pai sempre atualizado com segurança enquanto preserva suas personalizações no tema filho, veja como atualizar o tema WordPress manualmente.

Erros comuns e como resolver

O site ficou em branco após ativar o tema filho: Quase sempre é um erro de sintaxe PHP no functions.php. Acesse o servidor via FTP, renomeie o arquivo para functions.php.bak temporariamente e recarregue o site. Se voltar ao normal, revise o código PHP linha por linha.

Os estilos do tema pai não aparecem: Verifique se o valor em Template: no style.css do tema filho corresponde exatamente ao nome da pasta do tema pai no servidor. Uma letra maiúscula a mais ou a menos quebra a herança.

O tema filho não aparece na lista de temas: O style.css precisa ter o cabeçalho completo com pelo menos Theme Name e Template. Sem esses campos, o WordPress não reconhece o arquivo como um tema válido.

Personalizações do Customizer sumiram após ativar o tema filho: As configurações do Customizer são vinculadas ao tema ativo. Ao trocar do tema pai para o tema filho, é normal precisar reconfigurar cores, fontes e outras opções no Customizer. Isso é um comportamento esperado, não um bug.

Para monitorar a saúde geral do site e identificar conflitos que possam surgir com o tema filho, as ferramentas indicadas em como funciona o Core Web Vitals podem ajudar a detectar problemas de performance.

Perguntas frequentes

Um tema filho deixa o site mais lento?

Na prática, a diferença de performance é imperceptível em temas bem construídos. O tema filho carrega o CSS do tema pai e depois o próprio, o que representa uma requisição HTTP adicional. Em temas modernos com bom gerenciamento de assets, esse impacto é mínimo. Se precisar de performance máxima, combine os arquivos CSS em um único arquivo no tema filho.

Posso ter mais de um tema filho para o mesmo tema pai?

Sim. Cada tema filho é um conjunto independente de arquivos. Você pode ter vários temas filhos baseados no mesmo tema pai, cada um com personalizações diferentes, e alternar entre eles quando precisar.

O que acontece quando o tema pai é atualizado?

Nada muda no tema filho. Suas personalizações continuam intactas. A atualização muda os arquivos do tema pai, mas o tema filho tem seus próprios arquivos que não são sobrescritos. Este é o principal motivo para usar um tema filho.

Preciso de tema filho se uso Elementor?

Depende. Se você só cria páginas com o Elementor, provavelmente não precisa: o design fica salvo no banco de dados, não nos arquivos do tema. Mas se você modifica o functions.php do tema ou arquivos de template, sim, precisa de um tema filho para proteger essas alterações.

É seguro usar o Child Theme Configurator?

Sim. O Child Theme Configurator é um dos plugins mais usados para essa função, com mais de 70.000 instalações ativas e atualizações constantes. Ele gera exatamente os mesmos arquivos que você criaria manualmente, com a vantagem de uma interface amigável.

Picture of Sara Lima
Sara Lima

Criadora do Meu Site Web e trabalha com criação de sites, WordPress e Elementor há mais de 8 anos. Jornalista por formação, une escrita e tecnologia para criar conteúdo prático sobre desenvolvimento web acessível a qualquer pessoa.

Últimos Posts