O guia definitivo para temas filhos do WordPress
Publicados: 2017-06-29O ecossistema WordPress está cheio de temas gratuitos e premium de ótima aparência, mas encontrar um tema perfeito para suas necessidades, aquele que marcaria todas as caixas, é muito difícil. Felizmente, o WordPress tem uma solução para esse problema, chamada de temas filhos. Portanto, não se preocupe, você pode usar um tema filho para aplicar as alterações e criar seu tema quase perfeito.
Os temas filhos do WordPress podem ser tão simples quanto um pouco de código CSS personalizado ou podem substituir os modelos de tema pai existentes e modificar ou adicionar funcionalidades de tema adicionais. Vou explicar tudo o que você precisa saber sobre temas filhos neste artigo, então vamos direto ao assunto.
O que é um tema infantil?
Um tema filho é um tema que herda a funcionalidade e o estilo de outro tema, chamado tema pai. Temas filhos são a maneira recomendada de modificar um tema existente.
A definição oficial do WordPress acima é ótima, mas vamos ver o que isso significa mais de perto. Um tema filho inicial (barebone) terá a mesma aparência e funcionamento do tema pai. Mostrarei como criar um tema filho inicial em breve, mas, por enquanto, um tema inicial é um tema filho mínimo, que herdará tudo do tema pai. Você pode adicionar arquivos e código ao tema filho, o que modificará ou aprimorará a aparência e a funcionalidade do tema pai, tornando-o um tema exclusivo separado.

Há muitos benefícios e nenhuma desvantagem real para usar um tema filho, então vamos dar uma olhada em por que você deve usar um tema filho.
Por que devo usar um tema filho?
Pergunta ainda melhor: por que você não usaria um tema infantil? Na verdade, não consigo pensar em um bom motivo para não usá-lo, mas conheço algumas ótimas razões pelas quais você deve usar um tema filho.
Atualizações de tema – se você modificar o código do tema diretamente e atualizar esse tema no futuro, todas essas modificações serão perdidas. Acho que esse motivo por si só é bom o suficiente para começar a usar temas filhos. Tivemos alguns clientes, que estavam editando os arquivos do tema diretamente e, em seguida, abriram um ticket de suporte, dizendo que nossa atualização do tema destruiu seu trabalho. Se eles usassem um tema filho, tudo ficaria bem. Você ainda precisa de atualizações de temas? Sim! Por exemplo: E se a atualização do tema incluir uma correção de segurança e, ao não atualizar o tema, seu site WP pode se tornar um alvo potencial para hackers?
Organização do código – como todas as alterações são colocadas em uma pasta de tema filho, você pode ver claramente quais alterações foram feitas e como foram feitas. Se você precisar alterar alguma coisa no futuro, saberá exatamente onde encontrar essas alterações e isso economizará muito tempo.
Desenvolvimento mais rápido - estender ou substituir o estilo e a funcionalidade do tema pai em um tema filho é uma opção muito melhor do que manter uma base de código de tema modificada, que pode ser substituída por atualizações de tema (e já estabelecemos que as atualizações são importantes :)) .
Como mencionei antes, não consigo pensar em uma única razão para não usar um tema filho, então sugiro que você configure um tema filho inicial o mais rápido possível. Ao instalar um novo tema, você também deve criar um tema filho inicial e usá-lo, mesmo que não tenha planos imediatos para personalizar o tema pai. Acredite, no futuro, quando você precisar fazer algumas alterações, ficará feliz por estar usando um tema filho.
Como uma observação lateral: o WordPress 4.7 introduziu o editor CSS adicional no personalizador, onde você pode adicionar código CSS personalizado. Portanto, se você tiver certeza de que sua única modificação de tema será um pouco de código CSS personalizado, você não precisará de um tema filho. Você pode usar o editor CSS adicional para adicionar seu código CSS e pronto. Mas você tem certeza de que não fará nenhuma alteração adicional no tema no futuro? Você está?
Como criar um tema filho inicial?
Agora que sabemos o quê e o porquê, vamos ver o como. Como já mencionamos, um tema filho inicial é um tema filho mínimo. Ele terá a mesma aparência e funcionamento do tema pai, mas será um ponto de partida para suas modificações e melhorias.
Para o nosso exemplo, criaremos um tema filho inicial para o tema pai Adrenaline:
- Crie uma pasta e nomeie-a adrenalina-pt-criança. A melhor prática é usar o nome da pasta do tema pai (adrenaline-pt) e anexar o '-child' no final dela, para que seja óbvio qual tema é o tema filho e qual é o pai.
- Crie um arquivo
style.css
na pasta do tema filho. Abra o arquivostyle.css
e cole este código nele (este código deve estar na parte superior do arquivo):/* Theme Name: Adrenaline Child Theme Theme URI: https://www.proteusthemes.com/wordpress-themes/adrenaline Description: Child theme for the Adrenaline theme Author: ProteusThemes Author URI: https://www.proteusthemes.com Template: adrenaline-pt Version: 1.0.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: grid-layout, custom-background, custom-colors, custom-menu, featured-images, footer-widgets, full-width-template, microformats, sticky-post, theme-options, blog, e-commerce, entertainment, holiday Text Domain: adrenaline-pt-child */ /* Write your custom CSS code below */
- Crie um arquivo
functions.php
na pasta do tema filho. Abra o arquivofunctions.php
e cole este código nele:<?php add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style' ); function enqueue_parent_theme_style() { wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); }
- Opcionalmente, você pode adicionar um screenshot.png (ou .jpg) à pasta do seu tema filho, que será exibido na seção Aparência -> Temas como uma imagem de visualização (a imagem da captura de tela deve ter 1200x900px de tamanho).

Esse é o tema infantil básico. Para instalá-lo, você deve colocar esta pasta no diretório wp-content/themes/, próximo à pasta do tema pai. Ou você também pode criar um arquivo zip a partir desta pasta de tema filho e instalá-lo como um tema WP regular através do painel de administração do WP em Aparência -> Temas .
Vamos explicar o código nos trechos acima.
style.css – Os únicos campos que são “obrigatórios” são Nome do Tema (o nome do seu tema filho) e Modelo (o nome da pasta do seu tema pai). Outros campos são opcionais e o tema filho funcionará sem eles. No entanto, esses meta campos: Theme URI, Description, Author, … são “bom ter” e eles aparecerão no WP admin -> Appearance -> Themes , o que tornará o tema filho mais “completo”.
functions.php – para que o tema filho tenha o mesmo estilo do tema pai, precisamos enfileirar o arquivo CSS do tema pai. A maneira recomendada de fazer isso é usar o gancho de ação wp_enqueue_scripts
. Na função de retorno de chamada, enfileiramos o arquivo CSS do tema pai com a função wp_enqueue_style
. Se o tema pai estiver usando vários arquivos CSS (não apenas style.css
), talvez seja necessário enfileirar eles também, dependendo da técnica de enfileiramento do tema pai.
Em nosso tema Adrenaline, também estamos usando o arquivo CSS personalizado do WooCommerce, então é melhor enfileirar também no tema filho. Temos que ter cuidado aqui, porque precisamos nomear o parâmetro handle da função wp_enqueue_style
da mesma forma que no tema pai (no nosso exemplo: adrenaline-woocommerce
). Dessa forma, nosso arquivo CSS de tema filho será enfileirado por último e poderemos substituir qualquer estilo de tema pai sem nenhum problema. Aqui está o arquivo functions.php
atualizado para o nosso tema Adrenaline:
<?php add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style' ); function enqueue_parent_theme_style() { wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); /** * Enqueue additional parent theme CSS files. * Watch out to name the "handle" parameter the same as it is named * in the parent theme, otherwise the file might be enqueued twice. * In this example the parent handle name for this CSS file was * "adrenaline-woocommerce" */ wp_enqueue_style( 'adrenaline-woocommerce', get_template_directory_uri() . '/woocommerce.css' ); }
Neste ponto, gostaria de mencionar que a maneira antiga de adicionar os estilos pai ao tema filho era com a regra CSS @import
. Se você estiver usando um tema filho, que usa a regra @import
no style.css
para importar o arquivo CSS do tema pai, sugiro que você mude para o exemplo acima, onde o arquivo CSS do tema pai é enfileirado no functions.php
(e remova a regra @import
de style.css
). O problema com a regra @import
é que ela é muito mais lenta do que enfileirar o arquivo CSS pai por meio do gancho wp_enqueue_scripts
. Você pode ler mais sobre este assunto aqui.
Você pode estar pensando: “Deve haver um plugin para criar temas filhos…” Sim, existe. Vamos dar uma olhada neste plugin na seção chamada Mudando para um tema filho em um tema pai já configurado.
Como funcionam os arquivos de modelo de tema pai e filho?
Antes de continuarmos com exemplos de como personalizar seu tema filho, vamos dar uma olhada rápida em como funciona a hierarquia de templates do WordPress.
O WordPress usa arquivos de modelo para criar as páginas HTML reais que os visitantes do seu site veem. Alguns dos arquivos de template do WordPress mais conhecidos são: header.php
, footer.php
, index.php
, single.php
, page.php
, … Por exemplo, se uma página de blog for visitada, o arquivo de template index.php
está sendo usado para exibir a lista de postagens do blog. Alguns dos arquivos de modelo são modulares e reutilizáveis. header.php
, por exemplo, geralmente é usado em todas as páginas do WordPress.
Alguns dos arquivos de modelo são mais específicos do que outros e são considerados de maior prioridade pelo WordPress. Por exemplo, se um tema tiver modelos singular.php
e page.php
, e um visitante visualizar uma página normal do WordPress, o modelo page.php
será usado para gerar a página. Isso acontece porque o arquivo de modelo page.php
é mais específico que o modelo singular.php
na hierarquia de modelos do WordPress. Se removêssemos o arquivo page.php
do tema, o modelo singular.php
seria usado. Você deve dar uma olhada na documentação da hierarquia de templates do WordPress, onde este tópico é descrito com mais detalhes e tem alguns exemplos.
Outro recurso que você deve conferir é a visualização interativa da hierarquia de templates do WordPress.

Assim, dependendo do tipo de página visitada, diferentes arquivos de modelo são usados para gerar a página que o visitante vê. Isso é importante porque ajuda você a descobrir qual arquivo de modelo você precisa alterar ou adicionar ao seu tema filho para personalizar seu site.
O WordPress sempre usará o arquivo de modelo mais relevante que puder encontrar, dependendo da hierarquia do modelo. Se estivermos usando um tema filho, ele procurará esses arquivos de modelo primeiro no tema filho e depois retornará ao tema pai, se o arquivo de modelo não existir no tema filho. Além disso, se um tema filho estiver usando um arquivo de modelo mais específico (na hierarquia de modelos do WordPress) do que o tema pai, ele usará esse arquivo.
Como personalizar seu tema filho?
Vamos continuar com nosso exemplo de tema filho Adrenaline e ver como podemos personalizá-lo. Abordaremos estes casos de uso:
- adicionando estilos personalizados e substituindo os estilos pai,
- adicionando funcionalidade personalizada e substituindo a funcionalidade pai,
- adicionando novas funcionalidades,
- substituindo a funcionalidade pai,
- adicionando novos arquivos de modelo,
- sobrescrevendo arquivos de modelo pai
Adicionando estilos personalizados e substituindo os estilos pai
Todo o código CSS personalizado deve ser adicionado ao arquivo style.css
no tema filho.
Digamos que queremos adicionar um estilo de aviso para algum texto em nosso tema filho. Temos um elemento HTML div com uma classe de warning
junto com algum texto em uma página do WordPress e queremos adicionar um estilo apropriado para este elemento. O código CSS personalizado que escrevemos para este exemplo deve ser colocado no arquivo style.css
, abaixo do comentário do cabeçalho do tema filho (que está sempre na parte superior do arquivo). O arquivo style.css
com o código CSS personalizado ficaria assim:

/* Theme Name: Adrenaline Child Theme Theme URI: https://www.proteusthemes.com/wordpress-themes/adrenaline Description: Child theme for the Adrenaline theme Author: ProteusThemes Author URI: https://www.proteusthemes.com Template: adrenaline-pt Version: 1.0.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: grid-layout, custom-background, custom-colors, custom-menu, featured-images, footer-widgets, full-width-template, microformats, sticky-post, theme-options, blog, e-commerce, entertainment, holiday Text Domain: adrenaline-pt-child */ .warning { margin: 1rem 0; background-color: #fcf8e3; border-color: #faf2cc; color: #8a6d3b; padding: 0.75rem 1.25rem; border: 1px solid transparent; border-radius: 0.25rem; }
Mais importante do que adicionar código CSS personalizado ao seu tema filho, é sobrescrever os estilos do tema pai. Talvez você goste da aparência geral do tema pai, mas queira alterar algumas coisas, como a cor de um ícone. Vamos substituir a cor do ícone do carrinho de compras no cabeçalho da página inicial do Adrenaline como exemplo. Essa cor do ícone muda com as configurações do personalizador de uma cor primária, mas digamos que queremos dar a ela uma cor exclusiva.
Para substituir este estilo de tema pai, você deve encontrar o seletor CSS no tema pai, que está definindo a cor para este ícone. Você pode encontrar os seletores CSS com as ferramentas de desenvolvimento do Chrome. Aqui está um tutorial em vídeo simples sobre como fazer isso. Uma vez que você tenha o seletor CSS correto, em nosso exemplo é .header-info__link .fa
, você tem que colocar o código no arquivo style.css
no tema filho. O arquivo style.css
do tema filho com essa substituição ficaria assim:
/* Theme Name: Adrenaline Child Theme Theme URI: https://www.proteusthemes.com/wordpress-themes/adrenaline Description: Child theme for the Adrenaline theme Author: ProteusThemes Author URI: https://www.proteusthemes.com Template: adrenaline-pt Version: 1.0.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: grid-layout, custom-background, custom-colors, custom-menu, featured-images, footer-widgets, full-width-template, microformats, sticky-post, theme-options, blog, e-commerce, entertainment, holiday Text Domain: adrenaline-pt-child */ .header-info__link .fa { color: #2ebd61; }
A parte mais difícil é encontrar o seletor CSS correto para direcionar, uma vez feito isso, é apenas uma questão de aplicar as regras CSS corretas.
Excelente! Acabamos de aplicar alguns estilos personalizados ao nosso tema filho. Você pode adicionar tanto código CSS personalizado ao arquivo style.css
do tema filho quanto desejar.
Agora vamos ver como podemos adicionar algumas funcionalidades ao tema filho.
Adicionando funcionalidade personalizada e substituindo a funcionalidade pai
Esta é a parte em que as coisas ficam interessantes, onde você pode melhorar seu tema filho com funcionalidades adicionais ou substituir a funcionalidade do tema pai que deseja alterar.
Existem algumas maneiras de como suas personalizações podem ser realizadas, então vamos dar uma olhada nelas:
- adicionando novas funcionalidades,
- substituindo a funcionalidade pai,
- adicionando novos arquivos de modelo,
- sobrescrevendo arquivos de modelo pai
Adicionando Nova Funcionalidade
Qualquer nova funcionalidade em uma forma de código PHP que você queira adicionar ao seu tema filho deve ser colocada no arquivo functions.php
. Se você estiver adicionando muito código PHP, deverá extrair o código em vários arquivos PHP e, em seguida, exigir esses arquivos no arquivo functions.php
, para uma melhor organização do seu código.
Por exemplo, se você adicionar um código de acesso ao seu tema filho, poderá criar um arquivo chamado shortcodes.php
e adicionar o código apropriado nesse arquivo. Então você precisaria do arquivo em functions.php
, assim: require_once get_stylesheet_directory() . '/shortcodes.php'
require_once get_stylesheet_directory() . '/shortcodes.php'
Sobrescrevendo a funcionalidade pai
Você pode precisar modificar algumas das funções do tema pai, mas como não temos permissão para editar o código do tema pai diretamente, precisamos de alguma forma fazer isso acontecer no tema filho. Não se preocupe, o WordPress tem um sistema para isso.
Existem duas maneiras de modificar a funcionalidade pai, a primeira é com ação do WordPress e ganchos de filtro e a segunda é com funções conectáveis .
Ganchos de ação e filtro do WordPress – Se você estiver usando um tema pai bem codificado, poderá encontrar ações e filtros personalizados do WP em todo o tema, aos quais você pode se conectar e alterar o comportamento do tema. Você deve pesquisar seu tema pai pelas funções do_action e apply_filters. Por exemplo, no tema Twenty Seventeen você pode encontrar este filtro personalizado: twentyseventeen_front_page_sections
, que tem um valor padrão de 4
. Este valor representa quantas seções estão definidas na primeira página deste tema. Se fôssemos criar um tema filho Twenty Seventeen e quiséssemos ter apenas 2 seções, então colocaríamos este pedaço de código no arquivo functions.php
do tema filho:
<?php add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style' ); function enqueue_parent_theme_style() { wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); } // Custom Twenty Seventeen front page sections filter example. add_filter( 'twentyseventeen_front_page_sections', 'twentyseventeen_child_front_page_sections' ); function twentyseventeen_child_front_page_sections() { return 2; }
Funções conectáveis – O que são funções conectáveis? São funções normais do PHP, mas envoltas em uma instrução if, para verificar se a função com este nome já existe. Eles se parecem com isso:
<?php if ( ! function_exists( 'some_function_name' ) ) { function some_function_name() { // Function code goes here. } }
Se o seu tema estiver usando essas funções conectáveis, você poderá sobrescrever o código delas em seu tema filho definindo uma função com o mesmo nome e código alterado no arquivo function.php
filho. No processo de inicialização do WordPress, o arquivo functions.php
do tema filho é carregado antes do arquivo functions.php
do tema pai, é por isso que esse método de funções conectáveis é possível. Além disso, se a função do tema pai não for conectável, você não poderá substituí-la porque duas funções com o mesmo nome lançarão um erro crítico de PHP.
Funções plugáveis foram usadas no núcleo do WordPress nos primeiros dias e foram substituídas por filtros.
Adicionando novos arquivos de modelo
Adicionar um novo arquivo de modelo do WordPress (que o tema pai não possui) ao tema filho é fácil. Tudo o que você precisa fazer é colocar o arquivo de modelo na raiz do seu tema filho.
Por exemplo, se o seu tema pai não tiver um arquivo de modelo category.php
, que é responsável por exibir postagens de categorias específicas, você poderá adicionar o arquivo de modelo category.php
à raiz da pasta do tema filho (ao lado de functions.php
). O WordPress agora usará este arquivo category.php
para exibir suas páginas de categoria.
Você também pode adicionar arquivos de modelo mais específicos em seu tema filho para assumir um segmento menor das respectivas páginas.
Por exemplo, se seu tema pai tiver um template archive.php
, que é um arquivo de template pai para exibir páginas de autor, categoria, taxonomia, data e tag, mas não tiver um template author.php
, que é um template mais específico em a hierarquia de templates do WordPress, então você pode adicionar este template author.php
ao seu tema filho e alterar o layout das páginas do autor. Dessa forma, você deixa o layout e a exibição das páginas de categoria, taxonomia, data e tag iguais e altera apenas as páginas de autor.
Substituindo arquivos de modelo pai
O último e provavelmente o uso mais comum de sobrescrever a funcionalidade do tema pai é sobrescrever os arquivos de modelo do tema pai.
Se quisermos alterar algo no template da página no tema filho Adrenaline que criamos anteriormente, precisaríamos copiar o arquivo page.php
do tema pai para a pasta do tema filho e fazer as alterações desejadas.
Se quisermos alterar o autor e a data exibidos no post único, copiamos o arquivo single.php
para o tema filho e fazemos as alterações nesse arquivo.
A substituição de modelos de tema pai é muito poderosa, porque você pode alterar o que quiser com algumas modificações nos arquivos de modelo de tema pai existentes, mas mantendo o tema pai intacto e seguro para atualizações.
Mudando para um tema filho em um tema pai já configurado
Se você possui um site WordPress existente sem um tema filho e deseja começar a usar um tema filho, há algumas coisas a serem observadas.
Você pode criar um tema filho automaticamente com um plugin ou pode fazê-lo manualmente. Agora, você provavelmente está pensando: “Sim, um plugin! Quem gostaria de fazer algo manualmente, se pode ser feito automaticamente?” Bem, você não está errado, mas como você quer aprender mais sobre temas filhos, vamos ver primeiro as etapas manuais
Mudança manual para um tema filho
Em primeiro lugar, crie um tema filho para o tema pai e extraia quaisquer modificações ou adições feitas diretamente no código do tema pai para o tema filho. Isso tornará seu tema pai seguro para atualizações e seu código personalizado ficará bem guardado no tema filho.
Agora, depois de ativar o tema filho, algumas coisas podem parecer estranhas ou até mesmo quebradas, se você olhar para sua primeira página. A razão por trás dessa confusão é que o WordPress vê um tema filho como um novo tema separado e, portanto, todas as configurações do tema são redefinidas para os valores padrão. Isso resulta em widgets alternando os locais da barra lateral (widget da barra lateral do rodapé pode acabar na seção de cabeçalho e assim por diante) e as configurações do personalizador são redefinidas para os padrões do tema.
Widgets – para corrigir o problema dos widgets, vá para Appearance -> Widgets e reposicione (arraste e solte) os widgets nas barras laterais corretas.
Configurações do personalizador – há uma maneira fácil de migrar as configurações do personalizador que você já definiu no tema pai. O plugin Customizer Export/Import é muito fácil de usar e importará as configurações do personalizador do tema pai, então você não precisa defini-las manualmente. Siga estas instruções para migrar as configurações do personalizador para seu tema filho.
Se o seu tema estiver usando qualquer outra estrutura de opções de tema, talvez seja necessário reconfigurá-los também.
Depois de fazer essas coisas, o tema filho deve se parecer com o tema pai, mas você está pronto para mais modificações e atualizações regulares do tema pai.
Agora, que entendemos quais são os problemas, ao mudar para um tema filho e como resolvê-los, vamos ver a maneira mais fácil de fazer a mudança para um tema filho, com a ajuda de um plugin.
Mudança automática para um tema filho (com um plug-in)
A palavra “automático” pode ser um pouco demais aqui, já que ainda precisaremos fazer algumas coisas para mudar para um tema filho, mas é muito mais fácil e rápido do que fazê-lo manualmente.
O melhor plugin gerador de tema filho que testei é o plugin Child Theme Configurator. Isso nos permitirá criar um tema filho e migrar todas as configurações do tema pai de uma só vez. Fantástico!
Aqui está um tutorial rápido sobre como mudar para um tema filho com este plugin:
- instale e ative o plug-in Child Theme Configurator no seu site WP,
- vá para Ferramentas -> Temas Filhos ,
- para a primeira etapa, selecione a opção “CRIAR um novo tema filho”, certifique-se de ter o tema pai correto selecionado e clique no botão Analisar,
- depois que o plugin terminar de analisar, você pode ver todas as opções adicionais que aparecem e fazer ajustes, dependendo do seu tema pai, mas as configurações padrão geralmente são boas,
- você pode clicar no botão Mostrar/Ocultar Atributos do Tema Filho e alterar o nome do tema filho e outros metadados,
- na opção Copiar menus, widgets e outras configurações do personalizador do tema pai para o tema filho , você deve habilitar a caixa de seleção, para que os widgets e as configurações do personalizador sejam migrados do seu tema pai existente para este tema filho recém-criado,
- clique no botão Criar Novo Tema Filho.
É isso!
Para um tutorial completo sobre a criação de temas filhos e exemplos para este plugin, sugiro que você veja os vídeos postados na página do plugin Child Theme Configurator.
Eu testei este plugin no nosso tema Adrenaline e funcionou muito bem. O tema filho foi criado com sucesso e os widgets e configurações do personalizador também foram migrados para ele, então eu definitivamente recomendo este plugin.
Resumo
Temas filhos são a maneira recomendada de modificar temas do WordPress. Eles permitem que os usuários personalizem o tema, com pequenas ou grandes modificações, mas ao mesmo tempo deixam o tema pai intacto.
Analisamos tudo o que os temas filhos têm a oferecer e, se você acha que deixei algo descoberto, compartilhe isso conosco na seção de comentários abaixo e vou adicioná-lo a este guia.
Espero que você use um tema filho para cada projeto WordPress futuro, porque basicamente não há desvantagens, apenas benefícios; se nada mais, seu tema pai pode receber atualizações regulares.