Temas filhos no WordPress – como e por que usá-los

Publicados: 2016-04-29

O objetivo por trás do WordPress é dar às pessoas o poder de construir, modificar e ajustar seus próprios sites ou blogs. Isso é algo que, há apenas uma década, você precisava contratar um designer/desenvolvedor profissional.

Hoje em dia, você pode cuidar do seu site por conta própria e fazer com que pareça o que quiser.

Mas e se você quiser ir além do que o WordPress Customizer permite que você faça? E se você quiser modificar algo sobre o seu tema atual do WordPress de uma maneira um pouco mais personalizada?

Bem, é aí que os temas infantis entram em jogo.

Por que usar temas filhos

Vamos começar do outro lado da moeda:

A desvantagem número 1 se você *não* usar um tema filho e, em vez disso, realizar quaisquer modificações em seu tema atual (normal), é que todas essas modificações desaparecerão se você atualizar o tema.

Agora, o que quero dizer com modificações :

  • qualquer edição de código manual feita em qualquer um dos arquivos PHP do tema,
  • quaisquer modificações no arquivo style.css ,
  • quaisquer novos arquivos que você possa ter colocado no diretório do tema (isso inclui arquivos PHP, arquivos CSS, até gráficos, literalmente tudo) – esse é um problema comum se você tiver algum modelo de página personalizado.

Então, apenas para enfatizar isso mais uma vez, todos os itens acima desaparecerão assim que você atualizar seu tema.

Mas por que isso é ruim?

Bem, o problema talvez não seja tão brutal se o tema que você usa não foi atualizado como nunca. No entanto, a maioria dos temas WordPress de qualidade tendem a ser atualizados com um pouco mais de frequência. E isso é especialmente válido para os temas padrão do WordPress (por exemplo, Twenty Fifteen) – eles são atualizados sempre que uma nova versão do núcleo do WordPress é lançada.

Em uma situação como essa, você não quer perder todas as novidades e patches que vêm com essas atualizações. Efetivamente, eles fazem seu site funcionar corretamente com as novas versões do WordPress e também melhoram a segurança de tudo (corrigindo falhas e bugs de segurança comuns).

Mas há mais. O uso de temas filhos também oferece valor agregado na forma de uma melhor organização do trabalho.

Aqui está a coisa, se você tentar editar qualquer coisa dentro do seu tema atual do WordPress, é mais do que fácil estragar algo. Por exemplo, você pode apagar acidentalmente alguma linha de código importante, ou até mesmo um arquivo inteiro, etc.

Com temas filhos, todas as modificações são muito mais organizadas. Cada arquivo que está no diretório do tema filho contém apenas seu próprio código, então não precisa mais se perguntar “modifiquei o arquivo X ou não?”

Como construir seu primeiro tema filho

Esta parte é realmente fácil e requer quase nenhuma codificação. Antes, porém, algumas orientações gerais:

  • Cada tema pode ser um tema pai. Em outras palavras, você pode criar um tema filho para qualquer tema que já tenha.
  • Os temas filhos dependem do pai para fazer a maioria de suas “coisas”. Da maneira mais básica, um tema filho em branco pega todo o seu código, design, estilo, etc. diretamente do pai sem alterar nada.
  • Um tema filho requer a presença do pai para funcionar. Depois de excluir o tema pai, seu tema filho não funcionará mais.
  • Como mencionado anteriormente, você pode atualizar o tema pai e não perder nenhuma de suas modificações.
  • Em caso de qualquer coisa, você pode alternar para o tema pai a qualquer momento e voltar para a versão original do seu tema.

Agora, para o como fazer. Um tema filho precisa apenas de algumas coisas:

  • um novo diretório dentro wp-content/themes , e com um nome/slug exclusivo, como você quiser chamá-lo,
  • um arquivo de folha de estilo dentro desse novo diretório - style.css ,
  • e um arquivo functions.php .

Aqui está um exemplo de tema filho que construí para o tema padrão anterior do WordPress – Twenty Fifteen. Comecei criando um diretório chamado t15-child :

criança

Em seguida, criei dois novos arquivos nesse diretório e os chamei de style.css e functions.php :

diretório-tema-filho

Vamos editar o arquivo style.css primeiro. Aqui está o meu:

 /* Theme Name: T15 child KK Theme URI: http://karol.cc/ Author: Karol K Author URI: http://karol.cc/ Template: twentyfifteen Description: My child of twentyfifteen Version: 1.0.0 License: GNU General Public License v2.0 License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: t15-child */

Nada muito extravagante, como você pode ver. As duas linhas cruciais foram destacadas:

  • Nome do Tema – o nome do novo tema filho, como aparecerá no wp-admin, em Aparência / Temas .

tema infantil

  • Template – a linha mais importante aqui – aponta para o tema pai por seu slug.

Então, vamos para o arquivo functions.php . As únicas coisas que tenho lá são:

 <?php function theme_enqueue_styles() { $parent_; 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)); } add_action('wp_enqueue_scripts', 'theme_enqueue_styles');

Esta é apenas uma nova função simples. Cuida de duas coisas:

  • ele busca a folha de estilo original do tema pai e
  • ele “ativa” o novo arquivo style.css , para que você possa realizar outras modificações no design do tema nesse arquivo.

Outras coisas importantes a ter em mente:

  • Agora, você pode modificar seu novo arquivo style.css livremente. Qualquer nova classe que você colocar lá, ou qualquer classe antiga que você modificar, afetará seu site e sua aparência.
  • Você pode adicionar outros arquivos PHP ao diretório do seu tema filho. Esses arquivos podem ser completamente novos – para novos modelos personalizados, por exemplo – ou podem substituir os arquivos padrão do tema pai. Por exemplo, você pode criar uma versão completamente nova do arquivo single.php para lidar com a maneira como as postagens do seu blog são exibidas.
  • Tudo o que você colocar em seu novo arquivo functions.php será executado da mesma forma que o arquivo functions.php nativo no tema pai funciona.

Você já criou seu tema filho?

Nesse estágio, seu trabalho está concluído e agora você tem um tema filho básico que pode ser usado para realizar outras modificações em seu site. Ou você pode simplesmente usar esse novo tema filho para garantir que os ajustes que você já fez permanecerão nas futuras atualizações do tema pai.

Qual é a sua opinião aqui? Você está planejando usar um tema filho em seu site ou blog WordPress?