WordPress child theme: o que é e como criar

Já lhe aconteceu personalizar um tema ao pormenor, e depois, ao actualizar o tema original, perder tudo o que mudou? É uma sensação horrível. A boa notícia é que isso tem solução: uma wordpress child theme.

Ao longo deste artigo, vou explicar-lhe o que é, por que vale a pena usar uma, e como criar a sua, passo a passo, sem pressas e sem complicações.

O que é uma wordpress child theme

Imagine que compra um caderno bonito. Escreve nele, desenha, personaliza. Depois, o dono da marca diz que vai substituir o caderno por um novo modelo. Perde tudo outra vez.

Pois bem, uma wordpress child theme evita exatamente esse problema.

Na prática, funciona assim: existe um tema principal (o seu Tema). Depois, cria-se um tema filho por cima dele. O tema filho herda todas as características do pai. Mas guarda as suas alterações num sítio à parte.

Traduzindo: instala o tema principal. Instala o tema filho. Ativa o tema filho. O aspeto do site continua igual.

Quando quer mudar alguma coisa – uma cor, uma fonte, a posição de um elemento só mexe apenas no tema filho. O tema principal fica intacto, como se estivesse num museu, sem ninguém lhe tocar.

Por isso, muitos programadores chamam-lhe “camada de segurança”. É exatamente isso: uma proteção entre o que o tema original oferece e aquilo que você decide personalizar.

Além disso, uma wordpress child theme é leve. Não precisa de copiar ficheiros inteiros do tema principal. Apenas aquilo que vai alterar. Mais simples, mais limpo e muito mais seguro.

Como criar uma wordpress child theme manualmente (via FTP)

Vamos pôr as mãos na massa. Não se assuste. É mais simples do que parece.

Para este método, precisa de um programa de FTP. Eu recomendo o FileZilla, que é gratuito. Também precisa dos dados de acesso ao seu servidor (endereço, nome de utilizador e palavra-passe). O seu alojamento web fornece essa informação.

Pronto? Então vamos começar a criar a sua wordpress child theme.

Passo 1: Ligar ao servidor por FTP

Abra o FileZilla. Introduza os dados do seu servidor. Clique em “Ligação rápida”.

Do lado esquerdo, vê os ficheiros do seu computador. Do lado direito, os ficheiros do servidor. Navegue até à pasta wp-content/themes/. É ali que vamos trabalhar.

Passo 2: Criar a pasta do tema filho

Agora, dentro da pasta themes, crie uma nova pasta. Dê um nome como tema-filho. Use apenas letras minúsculas e hífenes. Evite espaços e caracteres especiais.

Porquê este cuidado? O WordPress é sensível a nomes. Um espaço ou uma letra maiúscula a mais pode causar erros.

Passo 3: Criar o ficheiro style.css

Entre na pasta que acabou de criar. Crie um ficheiro chamado style.css. Pode fazer isto diretamente no FileZilla: clique com o botão direito, escolha “Criar novo ficheiro” e dê o nome.

Abra esse ficheiro com um editor de texto (como o Bloco de Notas). Escreva exatamente o seguinte:

/*
Theme Name: Tema Filho
Template: nome-do-tema-principal
*/Code language: CSS (css)

Atenção à linha Template. Ali tem de colocar o nome da pasta do tema principal. Exemplo: se o seu tema principal é o Twenty Twenty-Five, a pasta chama-se twentytwentyfive. Escreva isso mesmo.

Guarde o ficheiro. No FileZilla, faça upload dele para a pasta do tema filho.

Passo 4: Criar o ficheiro functions.php

Este passo é essencial. Sem ele, o seu site pode ficar sem os estilos do tema principal.

Crie outro ficheiro, agora chamado functions.php. Escreva dentro dele:

<?php
function tema_filho_estilos() {
    wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
    wp_enqueue_style('child-style', get_stylesheet_uri(), array('parent-style'));
}
add_action('wp_enqueue_scripts', 'tema_filho_estilos');Code language: PHP (php)

Não se preocupe em perceber cada linha. Basta saber que este código diz ao WordPress para carregar primeiro o CSS do tema principal e depois o CSS do tema filho. A ordem é importante.

Guarde e faça upload deste ficheiro também.

Passo 5: Ativar a wordpress child theme

Agora vá ao painel de administração do WordPress. Entre em Aspeto > Temas. Vai ver o tema filho ali, com o nome que escolheu.

Passe o rato por cima. Clique em “Ativar”. O seu site continua igual, mas agora está a usar a wordpress child theme que acabou de criar.

Passo 6: Testar se está tudo bem

Abra o seu site numa nova janela do navegador. Está tudo no lugar? As cores, as fontes, a estrutura? Ótimo.

Para testar se o tema filho está mesmo ativo, pode fazer uma pequena experiência. Abra o style.css do tema filho e acrescente uma linha no final:

body {
    background-color: #f0f0f0;
}Code language: CSS (css)

Atualize o site. Viu um cinzento claro de fundo? Funcionou. Pode remover essa linha agora. Já sabe que a wordpress child theme está a funcionar como deve ser.

O ficheiro functions.php e como carregar os estilos corretamente

Muita gente tropeça aqui. Mas vamos resolver isso de uma vez.

O functions.php do tema filho não substitui o do tema principal. Ao contrário do que muitos pensam, os dois trabalham em conjunto. O WordPress carrega primeiro o functions.php do tema principal. Depois carrega o do tema filho.

Porque é que isto importa? Por causa da ordem dos estilos.

Se carregar o CSS do tema filho antes do CSS do tema principal, as suas alterações podem não aparecer. O tema principal empurra os seus estilos para trás. E fica frustrado, sem perceber porquê.

A solução está neste código que já mostrei:

<?php
function tema_filho_estilos() {
    wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
    wp_enqueue_style('child-style', get_stylesheet_uri(), array('parent-style'));
}
add_action('wp_enqueue_scripts', 'tema_filho_estilos');Code language: PHP (php)

Vou explicar cada linha de forma simples:

  • wp_enqueue_style('parent-style'...) – carrega o CSS do tema principal.
  • wp_enqueue_style('child-style'...) – carrega o CSS do tema filho.
  • array('parent-style') – diz ao WordPress: “Espera pelo CSS do pai primeiro, depois carrega o meu.”

Assim, a sua wordpress child theme respeita a hierarquia correta. Os estilos que escrever no style.css do tema filho vão prevalecer sobre os do tema principal.

Pode também usar o functions.php para adicionar outras funcionalidades. Por exemplo, registar menus, adicionar suporte a imagens destacadas ou carregar scripts de JavaScript. Mas o essencial, para começar, é garantir que os estilos funcionam. O resto vem depois.

Como alterar templates (single.php, header.php, etc.)

Até agora, mexemos apenas no CSS. Mas e se precisar de mudar a estrutura de uma página? Por exemplo, adicionar um bloco novo no cabeçalho ou remover a data dos artigos?

Para isso, precisa de alterar os ficheiros de template. E uma wordpress child theme torna esta tarefa muito simples.

O princípio da substituição

O WordPress funciona com uma hierarquia clara. Quando procura um template, ele olha primeiro para o tema filho. Só depois, se não encontrar, vai buscar ao tema principal.

Isto significa o seguinte: se copiar um ficheiro do tema principal para o tema filho, o WordPress vai usar a versão do tema filho. Sempre. O ficheiro original fica intacto, quietinho no seu canto.

Passo a passo para alterar um template

Vamos usar o single.php como exemplo. Este ficheiro controla a aparência dos artigos individuais.

1. Localize o ficheiro no tema principal
Ligue-se ao servidor por FTP. Navegue até à pasta do tema principal (por exemplo, wp-content/themes/meutema/). Procure pelo single.php.

2. Copie o ficheiro
Transfira uma cópia para o seu computador. Use o FileZilla ou outro programa de FTP.

3. Crie a mesma estrutura no tema filho
Se o single.php está na raiz do tema principal, cole-o na raiz do tema filho. Se estiver dentro de uma pasta (como /templates/), recrie essa mesma pasta no tema filho. A estrutura tem de ser idêntica.

4. Altere à vontade
Abra o ficheiro com um editor de código (como o Visual Studio Code ou o Bloco de Notas). Acrescente, remova ou modifique o HTML e o PHP que precisar. Guarde as alterações.

5. Faça o upload
Envie o ficheiro modificado para a mesma pasta dentro do tema filho. Atualize o seu site. As mudanças aparecem imediatamente.

Que ficheiros pode alterar?

A lista é grande. Os mais comuns são:

  • header.php – cabeçalho do site
  • footer.php – rodapé
  • sidebar.php – barra lateral
  • single.php – página de artigo individual
  • page.php – páginas estáticas
  • archive.php – arquivos de categorias e etiquetas
  • search.php – página de resultados de pesquisa

Um conselho importante

Nem todos os temas usam os mesmos nomes de ficheiros. Alguns temas modernos organizam os templates dentro de pastas como /partials/ ou /template-parts/. Outros usam nomes diferentes, como content-single.php.

Por isso, explore primeiro a estrutura do tema principal. Veja onde estão os ficheiros. Depois reproduza essa estrutura no tema filho. Funciona sempre.

Com uma wordpress child theme bem montada, pode reestruturar o site inteiro sem nunca tocar no tema Como alterar templates (single.php, header.php, etc.)

Até agora, mexemos apenas no CSS. Mas e se precisar de mudar a estrutura de uma página? Por exemplo, adicionar um bloco novo no cabeçalho ou remover a data dos artigos?

Para isso, precisa de alterar os ficheiros de template. E uma wordpress child theme torna esta tarefa muito simples.

O princípio da substituição

O WordPress funciona com uma hierarquia clara. Quando procura um template, ele olha primeiro para o tema filho. Só depois, se não encontrar, vai buscar ao tema principal.

Isto significa o seguinte: se copiar um ficheiro do tema principal para o tema filho, o WordPress vai usar a versão do tema filho. Sempre. O ficheiro original fica intacto, quietinho no seu canto.

Passo a passo para alterar um template

Vamos usar o single.php como exemplo. Este ficheiro controla a aparência dos artigos individuais.

1. Localize o ficheiro no tema principal
Ligue-se ao servidor por FTP. Navegue até à pasta do tema principal (por exemplo, wp-content/themes/meutema/). Procure pelo single.php.

2. Copie o ficheiro
Transfira uma cópia para o seu computador. Use o FileZilla ou outro programa de FTP.

3. Crie a mesma estrutura no tema filho
Se o single.php está na raiz do tema principal, cole-o na raiz do tema filho. Se estiver dentro de uma pasta (como /templates/), recrie essa mesma pasta no tema filho. A estrutura tem de ser idêntica.

4. Altere à vontade
Abra o ficheiro com um editor de código (como o Visual Studio Code ou o Bloco de Notas). Acrescente, remova ou modifique o HTML e o PHP que precisar. Guarde as alterações.

5. Faça o upload
Envie o ficheiro modificado para a mesma pasta dentro do tema filho. Atualize o seu site. As mudanças aparecem imediatamente.

Que ficheiros pode alterar?

A lista é grande. Os mais comuns são:

  • header.php – cabeçalho do site
  • footer.php – rodapé
  • sidebar.php – barra lateral
  • single.php – página de artigo individual
  • page.php – páginas estáticas
  • archive.php – arquivos de categorias e etiquetas
  • search.php – página de resultados de pesquisa

Um conselho importante

Nem todos os temas usam os mesmos nomes de ficheiros. Alguns temas modernos organizam os templates dentro de pastas como /partials/ ou /template-parts/. Outros usam nomes diferentes, como content-single.php.

Por isso, explore primeiro a estrutura do tema principal. Veja onde estão os ficheiros. Depois reproduza essa estrutura no tema filho. Funciona sempre.

Com uma wordpress child theme bem montada, pode reestruturar o site inteiro sem nunca tocar no tema original. E quando houver uma atualização, o seu trabalho continua seguro.

E se a theme principal tiver uma atualização?

Esta é a pergunta que mais assusta quem está a começar. E é também a maior razão para usar uma wordpress child theme.

Vamos responder de forma direta: sim, pode atualizar. Sem medo. Sem sustos.

O que acontece durante a atualização

Quando clica em “Atualizar” no painel do WordPress, o sistema substitui os ficheiros do tema principal. Todos eles. O style.css, o functions.php, os templates, as imagens – tudo é renovado.

Mas o tema filho? Fica exatamente como estava. Intacto. O WordPress nem lhe toca.

Porquê? Porque são pastas diferentes. O tema principal mora numa pasta. O tema filho mora noutra. A atualização só mexe na primeira.

O que acontece ao seu site depois da atualização

O seu site continua a usar o tema filho. As suas alterações no CSS continuam lá. Os templates que copiou e modificou também. Nada se perde.

E recebe ainda as novidades do tema principal: correções de segurança, novas funcionalidades, melhorias de desempenho. O melhor dos dois mundos.

O único cuidado que deve ter

Vou ser honesto consigo. Existe uma situação rara onde pode precisar de ajustar alguma coisa.

Imagine que o autor do tema principal decide mudar o nome de uma função importante. Ou altera a estrutura de um ficheiro que você copiou para o tema filho. Nesse caso, o seu tema filho pode deixar de funcionar como esperado.

Mas calma: isto é pouco frequente. E quando acontece, o autor avisa nas notas de lançamento. Basta ler antes de atualizar.

Como proceder de forma segura

Siga estes passos e dormirá descansado:

  • Leia as notas da atualização – veja se algo mudou nos templates que você alterou.
  • Teste num ambiente de desenvolvimento – se tiver um site de testes, use-o.
  • Faça uma cópia de segurança – antes de qualquer atualização, guarde tudo.
  • Atualize o tema principal – sem receios, já que o tema filho está protegido.
  • Verifique o seu site – abra algumas páginas e confirme que está tudo no lugar.

Uma wordpress child theme não é à prova de bala. Mas é, de longe, a forma mais segura de personalizar o WordPress sem perder cabelo quando há atualizações.

Erros comuns ao criar uma child theme (FAQ)

Vamos responder às perguntas mais frequentes. Assim evita as armadilhas mais comuns.

Porque é que o meu tema filho não aparece no painel?

Provavelmente esqueceu-se da linha Template: no style.css.
Sem ela, o WordPress não sabe qual é o tema principal. O tema filho fica invisível ou aparece como um tema avulso.
Solução: Abra o style.css do tema filho. Confirme que tem esta estrutura:

/*
Theme Name: Tema Filho
Template: nome-do-tema-principal
*/

O tema filho aparece, mas o site fica sem estilos. Porquê?

Falta o functions.php ou o código dele está errado.
Lembre-se: o tema filho não carrega os estilos do tema principal automaticamente. Precisa de o instruir.
Solução: Crie um functions.php no tema filho com este conteúdo:

<?php
function tema_filho_estilos() {
wp_enqueue_style(‘parent-style’, get_template_directory_uri() . ‘/style.css’);
wp_enqueue_style(‘child-style’, get_stylesheet_uri(), array(‘parent-style’));
}
add_action(‘wp_enqueue_scripts’, ‘tema_filho_estilos’);

Escrevi CSS no tema filho, mas não funciona. O que falhou?

Dois problemas possíveis.
Primeiro: a especificidade. O tema principal pode usar seletores muito específicos. O seu CSS precisa de ser igual ou mais específico para prevalecer.
Segundo: a ordem. O functions.php tem de carregar o CSS do pai antes do filho. Use o código que mostrei acima.

Posso copiar o functions.php inteiro do tema principal?

Não faça isso. É um erro grave.
Se copiar o functions.php completo, o WordPress vai tentar carregar as mesmas funções duas vezes. O resultado? Um erro fatal no site.
Solução: No tema filho, escreva apenas as funções novas ou as que quer modificar. Deixe o resto com o tema principal.

O nome da pasta do tema filho pode ter espaços?

Melhor não. Use apenas letras minúsculas e hífenes.
Exemplo: meu-tema-filho funciona. Meu Tema Filho pode causar dores de cabeça.

Mudei um template no tema filho, mas o site ignorou. Porquê?

A estrutura de pastas não está igual à do tema principal.
O WordPress procura o template no mesmo caminho. Se no tema principal ele está em /templates/single.php, no tema filho tem de estar em /templates/single.php.
Solução: Verifique a localização exata do ficheiro no tema principal. Recrie essa mesma hierarquia dentro do tema filho.

A minha wordpress child theme funciona bem. Posso apagar o tema principal?

Não, nunca apague o tema principal.
A wordpress child theme precisa do tema principal para funcionar. Sem ele, o seu site fica sem base. O tema principal é obrigatório. O filho vive dele.

Considerações finais

Criar uma wordpress child theme parece complicado ao início. Mas depois de dar os primeiros passos, vê que é mais simples do que imaginava.

A verdade é esta: vale sempre a pena. Mesmo para uma alteração pequena. Mesmo para um único ajuste de CSS.

Porquê? Porque nunca sabe quando o autor do tema vai lançar uma atualização. E quando lançar, vai querer instalar sem hesitar. Com uma child theme, pode fazê-lo.

Comece devagar. Use um site de testes se possível. Faça uma alteração de cada vez. E vá ganhando confiança.

Dentro de pouco tempo, criar uma wordpress child theme vai tornar-se automático. E vai agradecer a si mesmo(a) cada vez que apertar o botão “Atualizar”.

Vamos começar hoje?

Já tem tudo o que precisa. Os passos estão aqui. Os códigos também.

Agora é consigo. Abra o seu FTP. Crie a pasta. Escreva o style.css e o functions.php. Ative o tema filho. E comece a personalizar sem medo.

Se tiver dúvidas pelo caminho, volte a este artigo. Leia devagar. Experimente outra vez. Funciona.


Fontes externas (links úteis)

Para aprofundar o seu conhecimento, consulte estas referências oficiais. São todas em inglês, mas valem a pena.

Estes recursos ajudam a tirar dúvidas mais específicas. Guarde-os nos favoritos. Vão dar jeito.

Follow SOS-Admins on Google

SOS-Admins is your ultimate source for the latest updates, exclusive guides, and news. Don t miss our upcoming content, add us to your favorites and stay connected with the community on Google!