Antes de iniciarmos os passos aqui descritos é importante entender que a criação de temas de filhos é recomendada ser feita logo após a instalação do WordPress. Evite criar temas filhos em sites que já estejam em produção ou publicados pois a chances dele quebrar é muito grande.
O que é um tema filho?
Um tema filho (ou child theme) no WordPress é um tipo de tema que herda todas as funcionalidades e estilos de um tema pai (ou parent theme), mas permite que você faça modificações sem alterar diretamente o tema pai.
Os temas filhos são úteis quando você quer personalizar o visual ou a funcionalidade do seu site WordPress sem perder as atualizações e correções de segurança que são fornecidas pelo tema pai.
Basicamente, ao vez de fazer modificações diretas no tema pai, você cria um tema filho que contém apenas as modificações que você deseja fazer.
O grande problema de fazer alterações diretamente no tema pai é justamente a atualização. Todas as modificações que você fizer nele serão perdidos na próxima atualização do tema.
Já com um tema filho, você poderá criar funções espedíficas no arquivo functions.php poderá adicionar novos estilos CSS no style.css. Pode-se também adicionar novos recursos ou modificar o comportamento de um widget específico. Ao fazer isso, você pode garantir que, se o tema pai for atualizado, suas modificações permanecerão intactas.
Vale a pena observar que a criação de temas filhos é uma ação recomendada pela própria WordPress, confira a documentação em Developer Resources – Child Themes.
Principalmente sites de e-commerce são os benefíciados com os temas filhos, pois permite ao desenvolvedor personalizações mais finas no WordPress e WooCommerce.
Como criar um tema fiho no WordPress?
Você pode criar temas filhos de duas maneiras, usando plugins ou manualmente. A opção por plugin é mais interessante para aqueles que não dominam o WordPress.
Plugins para criação de temas filhos.
Existem vários plugins para este propósito e neste artigo irei usar o Plugin Quick Child Theme Generator devido a sua simplicidade de uso. A grande vantagem é que depois de gerado o tema filho você poderá desinstalar o plugin sem qualquer tipo de prejuízo para o seu WordPress.
- Antes de criar o tema filho, instale o tema que pretende utilizar no seu site e ative-o. Neste exemplo irei usar o tema gratuito OceanWP como exemplo.
- No WP-Admin, acesse o menu Plugins > Adicionar Novo.
- Na barra de pesquisa, procure por Plugin Quick Child Theme Generator e prossiga com a instalação e ativação do plugin.
- Com o plugin já ativado, clique em Create New.
- Selecione o tema que deseja. É recomendado que escolha o tema que já estiver ativo em seu WordPress e preencha os campos. Vide exemplo na imagem.
- Clique em Create Now. Você será redirecionado para a página de temas do seu WordPress, aonde você verá o tema pai e o tema filho conforme mostra a imagem;
- Agora é só ativar o tema filho.
- Após ativar o seu tema filho, você verá que o comportamento do tema filho é exatamente igual ao do tema pai. Portanto, seu site não terá qualquer prejuízo e ainda ganhará mais possibilidades de personalização.
- Como o tema filho já criado, você poderá desativar e remover o plugin logo em seguida.
Criando tema filho manualmente.
O processo de criação de um tema filho pode ser diferente dependendo do tema pai que você está usando e do tipo de personalização que você deseja fazer.
Certifique-se de verificar a documentação do seu tema pai para saber como prosseguir. Por exemplo; alguns temas como Astra por exemplo possui sua própria ferramenta de geração de temas filhos. Acesse o Astra Child Theme Generator.
As etapas a seguir funcionam com a maioria dos temas, principalmete os gratuitos:
- Crie uma pasta para o seu tema filho: Crie uma nova pasta dentro da pasta /wp-content/themes/ e dê um nome significativo para o seu tema filho. Por exemplo, se você estiver criando um tema filho para o tema OceanWP, você pode nomear a pasta como oceanwp-child. Se atente em não usar espaços em branco nem caracteres latinos ous especiais !@#$%¨&*():;?^~ç no nome da pasta ou o tema filho poderá não funcionar.
- Crie um arquivo style.css: Dentro da pasta do seu tema filho, crie um arquivo chamado style.css e abra-o em um editor de texto. Adicione o cabeçalho do arquivo CSS, incluindo o nome do seu tema filho e informações sobre o tema pai. Por exemplo:
/*
Theme Name: OceanWP Child
Theme URI: https://seusite.com
Description: Tema filho do OceanWP
Author: Seu Nome
Author URI: https://seusite.com
Template: oceanwp
Version: 1.0.0
*/
@import url("../oceanwp/style.css");
No campo “Template” deve conter o nome do tema pai e a última linha deve contar o caminho do style.css do tema pai. - Crie um arquivo functions.php: Dentro da pasta do seu tema filho, crie um arquivo chamado functions.php. A princípio o arquivo functions.php pode ficar vazio, é importante entender que o arquivo functions.php do tema filho irá servir como um complemento ao functions.php do tema pai.
- Opcionalmente, você também poderá criar uma tumbnail para o tema. Basta criar uma imagem de 1200 x 1200px com o nome screenshot.jpg e hospeda-la também na pasta do tema filho.
Se necessário, você também poderá criar os arquivos header.php, footer.php e single.php para criar personalizações mais específica para o tema filho. Isso obviamente vai depender do seu conhecimento com as funções e hooks do WordPress.
Com o tema filho já criado você deverá acessar no WP-Admin o menu Aparência > Temas aonde você poderá ver os temas disponíveis, incluindo o tema filho criado por você.
Basta ativar o tema filho e pronto!