Wordpress

Tema Filho (Child theme)

Quer evitar dores de cabeça em seus projetos com WordPress?

Imagine que você está criando um site em WordPress utilizando um dos milhares de temas que existem pela internet. Com certeza, você vai alterar os arquivos style.css, functions.php e as vezes até mesmo o index.php. O site ficou otimizado do jeito que você queria, até seu cliente clicar em ATUALIZAR e ai já era, você perde tudo!!

Existem várias soluções para isso, mas a mais indicada e profissional é utilizar um recurso do WordPress chamado Child Theme, ou Tema Filho. Child Theme nada mais é que um tema paralelo que sobrescreve o outro tema, ou seja, você vai ativar o TEMA FILHO do tema que você baixou. Dessa forma, você protege o seu tema principal caso alguém atualize o tema ou você precise atualizar o tema e não queira perder o que você já personalizou.

Agora, vamos ao que interessa:

Passo 01: Crie uma pasta no diretório de temas (/wp-content/themes/) para armazenar seu Child Theme, segundo manual técnico do WordPress esse nome deve ser criado usando o nome tema, acrescido do texto -child:

Exemplo: nomedotema-child

Suponhamos que o nome do tema que você baixou chama-se: shop-work, sendo assim, o nome do seu tema filho será: shop-work-child.

Passo 02: Os arquivos básicos de um tema são: style.css e o index.php. Sabendo que um Child Theme utiliza os arquivos do Tema Pai, o arquivo index.php é dispensável, então, precisamos criar obrigatoriamente somente o arquivo: style.css:

/*
Theme Name:		Olea child
Theme URI:		http://aligator-studio.com/olea
Author:			Aligator Studio
Author URI:		http://themeforest.net/user/aligatorstudio
Description: 	A CHILD theme for Olea parent theme.
Template:		olea
Version:		1.0
License:		Located in 'licensing' folder
License URI:	Located in 'licensing' folder
Tags:			light, gray, white, two-columns, right-sidebar, flexible-width,
Text Domain:	olea
*/

Suponho que você já tenha instalado algum tema, o comentário acima no início do arquivo style.css do tem é obrigatório e responsável pelas informações do tema. A única diferença entre esse arquivo do Tema Pai é a linha TEMPLATE. É nessa linha que escreveremos o nome do tema ao qual o Child Theme será subordinado (é o mesmo nome da linha “Text Domain” do Tema Pai).

Precisamos agora ativar o seu Child Themne, logo você vai perceber que o seu Child Theme funcionou, mas ficou completamente sem formatação, isso aconteceu porque todos arquivos do Tema Pai (com exceção do functions.php), são sobrescritos, se houver um arquivo de mesmo nome no Tema Filho. Como existe um style.css no seu Child Theme, o original é descartado, por isso, devemos importar o conteúdo.

A melhor forma de fazer isso sem perder performance no site é utilizar o functions.php do Child Theme para chamá-lo:

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ) );
}

Isso vai carregar o CSS pai e o CSS filho (fazendo com que o segundo seja dependente do primeiro, ou seja, o CSS do pai será carregado antes do CSS do Child Theme).

Fazendo isso, o site vai funcionar exatamente como o tema que você baixou.

Existe também a possibilidade de copiar o conteúdo do style.css do Tema Pai para o style.css do Child Theme, acredito que vá funcionar da mesma forma, só não garanto a performance, caso alguém tente faça dessa forma, deixe um comentário aqui nesse post.

Quando e porque usar Child Theme

  1. O primeiro e principal motivo é que se você modificar um TEMA e ele for atualizado, você perderá todas modificações que foram feitas por você. Usando um Child Theme você poderá atualizar o Tema Pai sem ter nenhum problema, manter seu tema atualizado vai lhe dar garantias de segurança e você poderá utilizar as melhorias do seu tema.
  2. Você ganha tempo no desenvolvimento
  3. Não existe melhor forma de trabalhar usando os recursos corretos da plataforma

Eu uso esse recurso em todos meus projetos e não tenho problemas na manutenção dos meus temas.

Tema Filho (Child theme)
5 (100%) 7 votos

Tags
Mais

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Close