Um tema filho é um tema que herda as funcionalidades e estilos de outro tema, chamado de tema pai. Os temas filhos são a forma recomendada de modificar um tema existente.
Por que usar temas filhos?
Há muitos motivos do porquê que se deve usar um tema filho:
- Se modificar um tema diretamente e o tema for atualizado, suas modificações podem se perder. Ao usar um tema filho todas as modificações são preservadas.
- Usar um tema filho agiliza o desenvolvimento.
- Usar um tema filho é uma ótima maneira de aprender sobre o desenvolvimento de temas WordPress.
Como criar um tema filho?
Um tema filho consiste num diretório (a pasta onde fica o tema) e dois arquivos (style.css e functions.php), que são precisos criar, então temos:
- a pasta ou diretório do tema filho
- o arquivo style.css
- o arquivo functions.php
1. Crie a pasta ou diretório para o tema filho que será colocada em wp-content/themes. É recomendado (embora não obrigatório, especialmente se estiver a criar um tema para uso público) que o nome do diretório de tema seja sucedido do sufixo ‘-child’. Deve se também certificar-se de que não há espaços no nome da pasta do tema filho o que ocasionará erros. Na imagem acima, o tema filho chama se ‘twentyfifteen-child’ indica que o tema pai é o tema Twenty Fifteen.
2. Crie a folha de estilos (style.css). A folha de estilos deve começar com o seguinte (the stylesheet header (em inglês)):
/* Theme Name: Twenty Fifteen Child Theme URI: http://example.com/twenty-fifteen-child/ Description: Twenty Fifteen Child Theme Author: John Doe Author URI: http://example.com Template: twentyfifteen Version: 1.0.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready Text Domain: twenty-fifteen-child */
Algumas coisas a observar:
- Substitua o texto de exemplo pelos detalhes relevantes do seu tema.
- A linha Template corresponde ao nome do diretório ou pasta do tema pai. O tema pai de nosso exemplo é o tema Twenty Fifteen, então Template deve ser twentyfifteen. Se está a trabalhar com um tema diferente, deve modificar isso para o nome do tema que estiver a usar.
- O arquivo style.css é o único é obrigatório, mas functions.php é necessário para anexar os arquivos corretamente.
3. O passo final é indexar as folhas de estilo do tema pai e do tema filho. Observe que o método anterior de criação de temas filhos usava @import:, este método não é considerado uma boa prática. Atualmente a prática adequada é criar as folhas de estilo usando wp_enqueue_scripts action e wp_enqueue_style() no arquivo functions.php do seu tema filho.
<?php add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); function theme_enqueue_styles() { wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); } ?>
A folha de estilo do seu tema filho geralmente será carregada automaticamente. Se não, irá ser preciso precisar carrega-la também. Definir ‘parent-style’ como uma dependência irá garantir que a folha de estilo do tema filho seja carregado logo após. Mais sobre isso (em inglês) :
<?php function theme_enqueue_styles() { $parent_style = 'parent-style'; 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' ); ?>