MENU It's me: Mário!

Child Theme

Como criar um tema filho (Child Theme) para WordPress

WordPress 03 de maio de 2014 129 comentários
WordPress
  • 03 - 05 - 14
  •        
  • 129

E ae pessoal! Tudo bem?

Imaginem duas situações:

1 – Você está criando um site em WordPress e  utilizando um dos milhares de temas pagos ou gratuitos (muito cuidado com temas pagos-gratuitos, se é que me entende…). Até aí tudo bem, certo? Você mexe no style.css, functions.php e até no index.php e outros arquivos de páginas. O site está rodando do jeito que você quer: perfeito! Aí seu cliente clica em “atualizar” e BOOM! perdeu tudo. Todo o seu trabalho foi apagado!!

2 – Você tem uma rede de sites/blogs numa instalação Multisite e não quer todos os blogs iguais: vai criar um tema para cada site? Nossa… podem ser o que? 100 temas? Boa sorte!

Solução

Há várias soluções para esses problemas, mas entre elas a mais anti-gambiarra elegante é a utilização de um recurso do WordPress muito legal chamado Child Theme ou Tema Filho.

Um Child Theme (prefiro usar os termos em inglês para me acostumar na consulta do Codex) é um tema derivado. Ele “sobrescreve” um outro tema, ou seja, você não vai ativar o pai, mas sim o filho, no menu Aparência >> Temas.

Prática

É muito simples criar um Child Theme. Vamos por a mão na massa \o/

1º Passo: Criar o diretório

Crie uma pasta no seu diretório de temas (wp-content/) para guardar seu Child Theme, o Codex do WordPress e eu =D, aconselhamos que o nome seja nomedotema-child.

Por exemplo:

Vamos criar um Child Theme para o tema padrão do WP: Twenty Fourteen.
Vamos criar um Child Theme para o tema padrão do WP: Twenty Fourteen.

2º Passo: Criar os arquivos necessários

Os arquivos básicos de um Tema são o styles.css e o index.php!

Como um Child Theme utiliza os arquivos do Tema Pai, o index.php é dispensável, então o 2º passo, na verdade, é criar o único arquivo obrigatório: o style.css:

/*
Theme Name: Twenty Fourteen Child
Theme URI: http://wordpress.org/themes/fourteen
Description: Esse é um Child Theme!
Author: Mário Valney
Author URI: http://mariovalney.com
Template: twentyfourteen
Version: 1.0.0
*/

Se você já criou um Tema ou já fuçou algum Tema, sabe que esse comentário no início do arquivo style.css é obrigatório e responsável pelas informações do tema. A única diferença desse para o do Tema Pai é a linha “Template”.  É nessa linha que escrevemos o nome do tema o qual o Child Theme será subordinado.

3ª Passo: Ativar o Tema

Agora você só precisa ativar o Tema Filho e ser feliz =D

Como modificar seu tema

Agora que você já criou e ativou o seu Child Theme, vai perceber que o seu site perdeu o estilo (com perdão do trocadilho). Isso acontece, porque todos os arquivos do Tema Pai (que são chamados pelo WordPress), com exceção do functions.php, são sobrescritos, se houver um arquivo de mesmo nome (inclui-se a hierarquia de pastas) no Tema Filho.

Como existe um style.css no Child Theme, o original é descartado, por isso, se quisermos utilizá-lo, devemos incluí-lo.

A melhor forma de fazer isso é pelo functions.php do Tema Filho:

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

Isso vai carregar o CSS pai. Assim o site vai voltar exatamente ao que era antes, como se o Tema Pai estivesse ativado ainda.

Para todos os outros arquivos, basta criar um arquivo de mesmo nome e ele será chamado no lugar do correspondente no Tema Pai.

Quando usar?

Se os motivos de criar um Child Theme, no lugar de modificar os arquivos de um Tema, não ficaram claros, aqui vai uma lista:

  • Se você modificar um Tema e ele for atualizado, você perde todas as modificações. Usando um Child Theme o Tema Pai pode ser atualizado sem problemas (isso é um ganho de segurança e de possíveis melhorias).
  • Agiliza seu tempo de desenvolvimento.
  • Não há modo melhor de iniciar no estudo da criação de Temas para WordPress.

Voltando aos problemas do início do artigo, recomendei o uso desse recurso para a rede de sites, pois assim será possível criar um Tema Pai para a rede e um Tema Filho para cada blog/site. Afinal, criar uma pasta e um style.css, é o mínimo de trabalho que se espera ao querer que cada site seja diferente, né?

Além disso, você poderá mudar as funcionalidades de todos os sites ao mesmo tempo, alterando o Tema Pai. Ou mudar algo em algum site, alterando apenas o Tema Filho correspondente.

E é isso! Espero que tenham gostado e que achem usos cada vez mais interessantes para esse recurso. Não esqueçam de compartilhar a palavra e deixar seu comentário para fazer um Dev feliz :)

Por favor, considere desativar o AdBlock

Não perca nenhuma novidade, assinando nossa newsletter!



Não se preoculpe, não enviaremos muitos e-mails, nem mostraremos seu e-mail para ninguém. Dúvidas?


Deixe seu comentário! Dúvida sobre como comentar
ou vai postar código? Leia antes.

  • Sem palavras muito bom, Mario muito boa a iniciativa…!

  • Pingback: Criando um tema filho (Child Theme) para WordPress()

  • Pingback: Criando um tema filho (Child Theme) para WordPress | Turbosite Blog()

  • Lucas Medina

    Genial… Parabéns! :D

  • Talitha

    De 0 a 10 em html e afins eu entendo -1. Acabei de “recriar” meu blog e tive sérios problemas de perda de dados. Queria muito evitar outros problemas assim. Eis minha dúvida: se eu criar um tema filho, vou perder todos os meus arquivos? Toda a formatação de posts e páginas? Tenho medo de alterar sem saber e acabar perdendo o trabalho. :)

    • Um tema filho nada mais é do que arquivos (de fora do tema pai) que são carregados no lugar dos arquivos do tema pai.

      A intenção de usar um tema filho é justamente não alterar os arquivos originais, sendo assim, você não perde nada ao criar temas filhos e caso ache que está algo errado, você pode simplesmente voltar ao tema pai já que nada foi mudado nele.

      Mas já fica a dica: sempre faça back-up!
      Aqui tem um artigo legal que ensina a fazer um back-up completo do WordPress: http://www.7desenvolvimento.com/como-realizar-backup-completo-do-wordpress/

  • Marco Alonso

    Legal o artigo! vou tentar! Umas dúvidas: Se uso um tema que possui um painel próprio de customização ( cores, tamanhos de fontes, padrões de templates, logo etc ) devo fazer essa alteração no painel do “pai” ou do “filho”? 2 – Sendo no “filho” como fica atualizações de tema? Dou o uptade no “pai”? não perderei minhas configurações de painel de customização? abs

    • Marco, o tema filho só sobrescreve o tema pai nos arquivos de mesmo nome (exceto o functions.php).
      Ele não sobrescreve configurações nem nada no BD… sendo assim, você não perderá nada.
      Sobre manter ou usar configurações do pai, vai depender muito de como o tema pai foi construído, mas aí vem a melhor coisa do tema filho: você pode fazer o que quiser nele, que se der problema basta desativá-lo. Então eu te encorajo a tentar usá-lo sem problemas (mas claro, sempre faça um backup antes).

      • Marco Alonso

        Valeu Mario! Vou tentar fazer. Abs

  • Márcio Santos

    Muito bom, Mário!!!! Parabéns e muito obrigado pelas informações :D

    • Espero que dê certo! Se não der, só falar por aqui :D

  • Pedro Marinelli

    Ótimo post. Passei um bom tempo caçando até achar uma explicação simples pro que é um tema filho. Valeu mesmo.

    Uma coisa, e seu eu quiser mudar o functions.php? Existe alguma opção pelo tema filho para que eu possa atualizar o tema sem perder alterações?

    • Que massa, Pedro!

      Agradeço o comentário e sobre mudar o functions.php, você diz usar o functions.php do pai e criar um para o filho?
      Se for, não tem problema, pois (como eu disse lá no texto) “todos os arquivos do Tema Pai, com exceção do functions.php, são sobrescritos”

      • Pedro Marinelli

        Quis dizer criar um para o filho.

        • Basta criar um function.php para o filho normalmente.
          Ele será carregado logo antes do functions.php do pai.

          • Pedro Marinelli

            Saquei. Obrigado!

            • Massa!
              Ei… dá uma relida, pois acabei de atualizar a parte do Como modificar seu tema… :D

              • Pedro Marinelli

                Gostei da opção pelo functions.php, mas achei a outra mais simples para “noobs”. xD
                Sei que o @import tem uma performance ruim mas manteria a opção. rs
                De qualquer forma me ajudou muito. Obrigado. o/

  • Fabinho

    Amigo, não entendi sobre o cuidado com temas pagos-gratuitos. O que quis dizer?

    • É quando um tema é pago, ou seja, o desenvolvedor vende esse tema, mas você consegue de alguma forma (pirata) gratuitamente. É um tema pirata, roubado… tem muito desses na internet.

  • Davi Menezes

    Eae Mário td bem? Cara não estou conseguindo copiar o texto do site, era pra ser assim mesmo?

    • Opa! Obrigado por avisar :D
      Eu ainda estou desenvolvendo o site e vou usar o hammer.js para os eventos de toque. Por algum motivo ele aplicou o estilo “webkit-user-select:none” impossibilitando ao usuário selecionar o texto…

      Já corrigi! Foi mal ae :D

      • Davi Menezes

        Tranquilo Mário. Por favor, estou com uma dúvida que não acho quem fale disso. As vezes um plugin tem um css que não se encaixa com o tema que estamos usando, sendo assim, dá pra criar uma extensão do plugin, assim como é feito com o tema? ou seja Um Plugin child? Desculpe se a pergunta parece tão noob, é porque sou noob mesmo hahaha

        • “Nenhuma pergunta é noob, meu amigo. Noob é não perguntar.”

          Infelizmente, pelo que sei não existe não. [gambiarra] Mas se você quiser evitar que um plugin seja atualizado, você pode mudar a versão dele para algo extremamente grande [/gambiarra]. =P

  • Helena Vilarinho

    Oi Mário!
    Então, eu comecei a usar um tema em sua versão grátis.
    Desavisada (rs), fui fazendo (muitas) alterações diretamente no tema. É possível salvar o site, do jeito que está agora, como Child Theme?
    Outra coisa: descobri os Child Themes pesquisando sobre a instalação da versão premium do meu tema. Estou imaginando se ao instalar a versão premium dele, eu vou perder as alterações que fiz… Salvar previamente um Child Theme resolveria no caso de que as alterações sejam realmente perdidas, né?

    • hum… não tenho como te dar certeza, mas antes de qualquer coisa: faça backup!
      Aí você instala a versão premium do tema, cria um Child Theme e depois vai criando com os aquivos do seu backup. É assim que eu faria. =D

      • Helena Vilarinho

        Obrigada pela resposta rápida, Mário!
        Entrei em contato com o desenvolvedor do tema, e ele me falou que eu não vou perder as alterações feitas na versão livre, mas que vou precisar reimplementá-las na versão premium, já que elas duas são completamente independentes. Vou fazer exatamente o que você disse, criar o tema filho e copiar os arquivos do meu back-up, tanto pra versão free quanto premium, assim, a partir daí vou poder trabalhar redondinho.
        Torcer pra dar tudo certo agora rs…

  • caliano barcelos

    olá Mário bom dia pois estou a dias tentando intender Child Theme gostei muito da sua dica e virei um leitor aqui meus parabéns, mas fiz uns testes aqui com um tema quando eu verifiquei la wp-content/themes os arquivos tema pai esta la, mas no painel wordpress em tema diz :

    Temas indisponíveis
    Os seguintes temas foram instalados mas incompletamente. Os temas devem possuir uma folha de estilos e um modelo.
    Virtue Child Theme O tema pai não existe. Instale o “Virtue theme” tema pai. ou Excluir
    mas o tema pai ” Virtue ” esta instalado e ativado.
    como eu devo proceder para resolver isso?

    • Olá Caliano.

      Ficou um pouco complicado de entender, mas de qualquer forma esse erro se dá quando algum tema (seja o pai ou o filho) está sem um dos arquivos obrigatórios: “styles.css” (e o “index.php”, se for o Tema Pai).

      • caliano barcelos

        tipo eu tenho que criar também um index.php no tema filho alem do “styles.css” ?
        e outra duvida si eu ja fiz um backup antes e upar esses arquivos do backup para uma pasta com nome Child Theme ele também atualizará quando tiver um nova atualizações ou só o principal tema que seria o original atualiza ?

        • Não. No tema filho só precisa do “style.css” (no singular). Além dele, recomenda-se usar um “functions.php” pra inserir os scripts corretamente (como explico em “Como modificar seu tema” mais acima).

          Sobre atualização, apenas o tema pai é atualizado, como o tema filho está em outra pasta, ele não será atualizado e isso é a razão dele existir: modificar um tema pai sem correr o risco de ser sobrescrito por atualizações.

          • caliano barcelos

            então todos os arquivos que colocar de um backup de um tema modificado em outra pasta com nome Child Theme e eu ativando ele não cerá atualizado coreto só o original coreto ?
            acho que intendi irei testar aqui ok.

            • Exato.
              Mas lembre-se sempre de manter um back-up :D

              • fulanodigital

                Meu problema era o nome do tema no arquivo css. Eu estava usando “Zerif Lite” quando deveria usar o nome da pasta do tema, que no meu caso era “zerif-lite”. Aí funcionou. Obrigado!
                PS: Vi seu email :)

                • Lucas Barbosa

                  fulanodigital

                  Como conseguiu arrumar? Eu não to conseguindo nem alterando o nome para a pasta igual a do pai.

                  se puder me dar uma dica agradeço:

                  Abaixo o script do style:

                  /*
                  Theme Name: Pixova Lite child
                  Theme URI: http://www.machothemes.com/themes/pixova-lite/
                  Author: Macho Themes
                  Author URI: http://www.machothemes.com/
                  Description: teste
                  Version: 1.34.14
                  License: GNU General Public License v3 or later
                  License URI: http://www.gnu.org/licenses/gpl-3.0.html
                  Tags:gray,white,green,black,light,one-column,two-columns,fixed-layout,right-sidebar,left-sidebar,custom-header,custom-menu,featured-image-header,featured-images,sticky-post,responsive-layout,full-width-template,front-page-post-form,threaded-comments,translation-ready,photoblogging
                  Text Domain: pixova-lite
                  This theme, like WordPress, is licensed under the GPL.
                  */
                  @import url(‘layout/css/style.min.css’);
                  *
                  *
                  *
                  *
                  *
                  No worpress tenho a mensagem: Pixova Lite childModelo em falta.

                  • Olá, Lucas.
                    Você seguiu o tutorial daqui do post?
                    É importante que teu arquivo css tenha o “Theme Name” igual ao do Tema Pai mais o Child no final e o que o “Template” tenha o valor da pasta do Tema Pai.
                    No teu caso, falta a parte “Template”.

                    Dá uma conferida lá em cima :D
                    Abraços!

    • fulanodigital

      Caliano tive o mesmo problema, e nada de solução por enquanto.

      • Fulanodigital, dá uma lida na minha resposta ao Caliano.

  • Obrigado pelo comentário, Farley.

    Bem… depende da situação, mas acho que eu utilizaria metaboxes, pois eu teria mais controle (e tbm pq nunca usei Custom_Fields).

    Mas de qualquer forma, vc pode criar essas mascaras com javascript no client side. Basta inserir o JS na administração. Aqui explica como: http://goo.gl/vDDOHl

  • Olá! Obrigado por ser meu leitor.

    Bem. Pelo que entendi, sua necessidade é manter o tema atualizado, certo? Isso é bem bacana e super importante (inclusive para segurança). A questão é: se você modificou algum arquivo por conta própria* , ele será perdido durante a atualização, então a ideia é criar um ChildTheme (siga exatamente como ensinado aqui, alterando apenas os valores) e depois disso, ir modificando os arquivos lá (no tema filho) e/ou copie os arquivos que você já alterou do Tema Pai para o Tema Filho.

    Por quê? Porque assim, você pode atualizar o Tema Pai (ou seja, sobrescrever os arquivos atuais pelos novos que o Desenvolvedor fez), mas os arquivos que você criou no Tema Filho serão mantidos e esses você mudou, lembra?

    Lembra que “todos os arquivos do Tema Pai, com exceção do functions.php, são sobrescritos, se houver um arquivo de mesmo nome no Tema Filho” ? Então o WordPress continuará usando os arquivos que você criou no Filho + os arquivos atualizados do Pai.

    * Se você não alterou nenhum arquivo do Tema Pai, não precisa de um Tema Filho, mas sim de um BackUp, pois se a atualização não for do seu agrado, você volta para a versão que usava antes (aliás, tenha sempre backup de tudo hahaha).

    Abraços

  • Emilia

    Oi Mário, muito legal o seu blog e achei bem didático. Consegui seguindo passo a passo de como aplicar o child theme para o meu novo blog.

    Se eu soubesse a existência do child theme, teria poupado a dor de cabeça. Explico: Tem um outro site que eu criei usando o template comprado, já foi finalizado, aprovado e entregue para o cliente. Eu alterei a maior parte no css orginal do tema pai. Vira e mexe o menu “desconfigura”, quando ocorre a atualização da versão do WP ou quando vou mexer na aparência/personalizar do tema e ai lá vou eu para arrumar o menu.

    Só que a esta altura do campeonato, acho meio arriscado aplicar o tema filho para este site, porque eu mexi tanto no original, que já nem lembro o que deveria copiar e colar para o tema filho. E aí, o que eu faço? O que você sugere?

    Abraços

    • Opa. Obrigado por ser meu leitor!

      Sobre essa situação especificamente, você pode criar um Tema Filho com todos os arquivos que talvez você tenha mudado (templates de páginas, functions.php, além dos CSS e JS principais), pois futuras atualizações do Tema Pai podem incluir alterações em bibliotecas e arquivos do Core do Tema, que dificilmente foram alteradas por você, concorda?

      A melhor forma seria um Tema Filho com apenas o que você mudou. Uma forma “fácil” de fazer isso seria utilizando alguma ferramenta de Diff.

      Se você tiver conhecimento em versionamento com GIT, uma forma mais fácil ainda seria criar um repositório GIT com o Tema antes das alterações e jogar a pasta que você tem agora (com as alterações) lá. Pois o GIT mostra os arquivos que foram alterados.

      Espero ter ajudado. Abraços!

  • Iori Yagami

    Olá Mario.. Excelente post… sua logica sobre a melhor maneira de estutura um projeto é das melhores… por isso achei importante lhe perguntar. Passei muito anos brincado com joomla e wordpress e ou pouco com drupal, nivel intermédiario, ja criei sites do zero usando html+css(e uns ctrl+c , Ctrl+v no PHP), passei uns anos afastado.. quero montar um portal, ja tenho 2 dominios que pensei por meses em cima desse nome.

    To lendo demais sobre temas, estudei muito sobre os 3 temas mais vendidos no forest, li muitos comentarios e opinioes em forums do mundo todo…avada venceu minhas analises, mas me preocupo quanto a depender de atualizações desse grupo desenvolvedor.. e se o projeto for abandonado? e se o wordpress for atualizando e o tema não acompanhar de forma que bagunce tudo devido a incompatilibidade da nova “estrutura” do wordpress?(claro q temos contrlole se e quando atualizar-mos, mas digamos q precise mesmo atualizar) esses themes são muito robustos e sei q devemos usar o minimo de recursos/plugins deles… vc me disse cuidado com esses temas pagos.. fiquei pensando mais ainda.. o que vc me sugere? para melhor atualização e adminstração do portal e poder ter futuros adminstradores de conteudos.. melhor usar framework como WP e nao desenvolver no braço por um Geany por exemplo. me ajuda sobre escolher um avada da vida ou editar um tema padrão como o twentyfifteen? pois os temas padroes fazem parte do wordpress mesmo. quais vantagens de um padrão os os reais riscos dos pagos?

    • Olá Yagami :D

      Antes de tudo, obrigado pela opinião e por compartilhá-la, bem como suas dúvidas.

      Serei extremamente sincero (como desenvolvedor web e fã de wordpress). Sua escolha pelo WordPress como framework é deveras acertada. Partindo disso temos um questionamento: você quer/consegue desenvolver um tema por si? Se a resposta for sim, faça isso.

      Sempre (e isso eu digo com toda certeza) é melhor criar o próprio tema. Claro que pode não ser tão vantajoso, nem interessante, nem um monte de coisas, mas não deixa de ser a melhor coisa. Criando um tema próprio você tem controle sobre o código e principalmente sobre o que vai ter nele. Na verdade, a única maneira que visualizo de não ser “tão melhor” assim criar seu próprio tema é se alguém já o fez. Ou seja, se você achar um tema exatamente do jeito que você quer.

      “Mas Mário! Tu é chato! Tem tanto tema bom por aí.”

      Isso é verdade. Muitos, na verdade. Mas não estou julgando serem bons ou ruins, mas os desenvolvedores sempre tentarão ser genéricos, afinal eles não têm o documento de requisitos do seu projeto, nem sequer desenvolveram pensando nele. Normal. Já vi temas bons, mas que com tanta “coisa” dentro deu mais trabalho configurar do que criar um. Sério.

      Mas voltando às suas dúvidas, caso a primeira possibilidade não seja possível ou desejada, não tenha medo: pode ir atrás do tema que quiser tranquilamente. Sobre manutenção, bem, se for modificar, use a estratégia de ChildThemes. Além disso, NUNCA atualize plugins, temas e (muito menos) o próprio WordPress no site no ar. Tenha sempre um ambiente de teste e back-ups do site principal. Dessa forma sempre terá uma versão funcional e perfeita.

      O WordPress tem uma política de depreciamento bem legal então acho difícil que “dê a louca” e quebre tudo ao atualizar e se ocorrer, basta não colocar em produção (alterar o site principal).

      Espero ter ajudado e se ainda restou dúvida, basta perguntar :D

      Abraços!!!

      • SkyFlier Imagens aéreas

        Olá Mário parabens pelo post

        Estou com algumas dúvidas que não querem se calar rsrsrs

        – O arquivo style.css tem que estar na pasta Child com todo o cabeçalho sem o comando @import, para evitar lentidão correto?

        – O outro arquivo que é o functions.php com os códigos citados no post também tem que estar na pasta Child correto?

        – Para a pasta Child eu tenho que copiar todos os arquivos e pastas do tema pai? Nesse caso se eu não copiar ainda posso perder algo?

        – Usando esse método, vamos supor que eu troque o nome de um dos menus essa informação não deveria estar gravada em um desse nesses arquivos, ou isso serve somente na troca de cor de fundo, de letra etc?

        • Que ótimo que gostou do artigo. Respondendo suas perguntas:

          – Sim. A questão de não ter o @import é que ele é levemente mais lento do que colocar o arquivo em si.
          – Sim. Ele é o arquivo do tema filho. Você NÃO deve mexer no Tema Pai.
          – Não. Apenas o que quiser substituir.
          – Geralmente cor de fundo, letra são questões de estilo, logo é culpa do CSS, você vai adicionar um novo CSS então poderá alterar isso. Demais alterações como nome de menu, estrutura, HTML vai de como o Tema Pai foi construído, por exemplo, se um menu é chamado no header.php do pai, você pode criar um header.php no Filho igual e alterar apenas o id do menu chamado.

          Abração!

  • Iori Yagami

    segui extamete seu tuto e claro.. funcionou beleza.. passo a passo mastigadinho… incrivel.. um pasta fazia com apenas dois arquivos dentro: style.css com pouca coisa dentro.. nada alias pois só um comentario não dá estilo a nada srsr e o functions.php para nao usar o terrivel import dentro do css. funcinou lindo.. o filho fica a cara do pai.
    Mas o que ninguem nunca disse em lugar nenhum da internet,,, nem em forums internacionais em ingles.. é se podemos usar temas diferentes do tema pai para serem filhos.. pois os temas filhos só são essa estrutura fazia que puxa tudo do pai(style, images, uploads etc…)? ou seja… obrigatoriamente será a cara do pai…. NÃO podemos usar um tema pai padrao do wordpress com o twenyfifteen para receber as atualizações automaticas e usar um filho totalmente diferente… um tema premium como filho por exemplo? tentei upar pro meu servidor os arquivos do thema tesseract cedido pelo tylermoore e soltei os arquivos dento da basta twenyfifteen-child que criei no dir themes do WP e soltei tudo dentro… abri o style.css e joguei o comentario obrigatorio e simplesmente o css que o filho tesseract puxa do pai twenyfifteen nao tem nada haver com o css padrao do tesseract.. isso dá um salada da peste… o site endoida.. fica feiaço… e o pior… tenho que limpar totalmente o funcions.php do tesseract e jogar só as poucas linhas que vc deu com apenas a abertura php la em cima é claro.. daí funciona… pois se eu deixar as linhas originais do tesseract… os functions do pai e do filho brigam até a morte… dando erro horroros que nem o painel adminstrativo do WP funciona mas,,, daí basta eu limpa o functions.php do tesseract e tudo volta… mas repido… volta com o css totalmente incompativel do twenyfifteen no no site filho que fica uma porcaria no ar…. com o site bagunçado porque os css dos themas possuem layouts muito distintos. como faço para usar o css original do filho… ex… se eu comprar o avada… e quiser usar o twenyfifteen como pai e o avada como filho.. nao rola? quando o filho avada puxar o css do pai tweny nao vai da meleca denovo?ta parecendo que o filho é um virtualização do pai e que terei q usar o avada como pai e o filho fazio será a copia do avada.. e tudo que eu fizer com o filho ativado.. ficará seguro porq so o avada pai seŕa afetado com a troca fisica dos arquivos devido a updade. ou seja.. minha teoria de colocar um filho fisico é loucura não é?

    • Criar um Tema Filho não é para impedir atualização, mas sim para impedir que o que você modifique seja sobrescrito. Ou seja, o que você tentou foi ativar um tema como filho de outro.

      O que vai acontecer? Ele vai substituir todos os arquivos do tema pai que estiverem no filho (creio que quase todos) e se fizer como eu ensinei aqui, vai ficar usando o CSS do Pai, quando só os arquivos do filho estão sendo usados (já que devem ter sobrescrito todos os do pai) e pior: a estrutura resultante (HTML) é totalmente diferente (outro tema) e talvez as funções entrem em conflito (já que o functions.php não é sobreescrito). Ou seja, não faça isso.

      Se você quer evitar que algum tema receba atualização, uma forma interessante é editar o arquivo style.css, na linha “Version: 1.0.0”. Coloque algo como “Version: 999999999999999” e pronto. A menos que o desenvolvedor crie a versão com um número maior que esse, nunca vai pedir pra atualizar.

      • Iori Yagami

        Sim farei como fiz da primeira vez… deu tudo certo..

        criar um tema filho:

        primeiro crie uma pasta no diretorio dos temas: wp-content/themes
        nomedotemapai-child (pode ser qualquer nome mas o codex wordpress recomenda assim)
        dentro dela crie um arquivo style.css com o seguinte conteúdo:

        /*
        Theme Name: Twenty Fifteen Child
        Theme URI: http://wordpress.org/themes/fifteen
        Description: Esse é um Child Theme!
        Author: Herculestechnology
        Author URI: http://guiglo.com
        Template: twentyfifteen
        Version: 1.0.0
        */

        depois no mesmo diretorio do arquivo style crie um arquivo functions.php com o seguinte conteudo:

        ´´´´

        ´´´´´

        so entrar no painel admin do seu site wordpress e ativar o tema child

        eu so tinha entendido errado o conceito… eu achava que o tema filho era um tema mesmo.. pastas e tudo.. e esse usaria recursos de outro thema… o tema pai… que sede toda a estrutura visual pro child… mas nao, um tema filho é como uma virtualização do tema pai.. o tema child está em uso e sofre as alterações de tudo que fazemos pois ele está ativado.. mas o fisico que está em uso pelo wordpress de forma q a atualização que venha ocorrer nesse tema ao ocorrer nas pastas do pai e nao afetara nosso conteudo no child ativado. tipo assim a “logica” srsr
        mas o importante é que fiz funcionar de cara.. so tentei essa maneira torta depois.. Obrigado.

  • Iori Yagami

    Sim eu posso criar meu theme do zero e até nos padroes w3c … já até fiz um bem limpão … só com o hello world srsr limpo mesmo srsr e construi boa parte do layour usando plugin de terceiros pra agilidar na contrução final do layout.. instalei o page build siteorigin .. to friozão mas tenho um monte de material que me ajudarão, e a web tem muito passo a passo. com boa estratagia modernas de organização de projetos. Desde ja agradeço muito pelo seu espaço aqui e sua disposição em nos responder.

  • Keferson

    Bacana, bem esclarecedor! Obrigado!

  • Keferson

    Mário fiquei com uma dúvida, veja se pode me ajudar.
    Fiz a criação do tema filho e funcionou normalmente, minha preocupação era referente as atualizações,
    agora digamos que pela necessidade eu tenha que alterar um arquivo fonte qualquer do meu site que não seja o style.css, porém meu tema filho tem apenas o aquivo style.css em seu diretório, eu devo fazer uma cópia desse arquivo original (do tema pai) para o diretório do tema filho ou eu continuo fazendo a alteração diretamente no arquivo original? Só isso que não ficou muito claro pra mim.

    Obrigado!

    • Sempre copie e altere no Tema Filho. Pois os arquivos do Tema Pai podem ser alterados pelo desenvolvedor ao enviar uma atualização. Imagina só: você mudou o arquivo “header.php” todo e agora está do jeito que você quer! Mas quando atualizar o tema, o desenvolvedor vai mandar um arquivo novo, então você vai perder tudo! A solução: o Tema Filho, pois os arquivos de lá são mantidos, mesmo se atualizar o Tema Pai.

      Abração!

      • Keferson

        Show, agora ficou bem claro! Muito obrigado!
        Parabéns pelo site!

  • Reilan Ribeiro

    Boa Tarde!!! Estou com uma dúvida … eu criei o footer.php na child e como que crio minha alterações??? preciso copiar o codigo do footer pai para o child ??? e preciso colocar as tag ???

    • Boa tarde.
      Se você criar um arquivo no Tema Filho ele será usado no lugar do arquivo correspondente no Tema Pai (exceto no caso que eu descrevi no artigo). Ou seja, se criar o “footer.php” no Tema Filho esse será o arquivo usado quando necessário.

      Então, se você quiser mudar apenas algumas coisas, você copia tudo o que tem no arquivo do Tema Pai para o Tema Filho e modifica o que precisa, senão cria do zero.

      • Reilan Ribeiro

        Tendi dúvida esclarecida =D … Obrigado … Ótimo Post !!!!

  • Não. O WordPress irá usar os arquivos normalmente: se o sistema precisar de um arquivo e não encontrar no Tema Filho, ele irá procurar na pasta do Tema Pai, se não achar nada aí sim considera que o arquivo não existe, pois o Tema Filho serve para que modifiquemos o Tema Pai e não para criar um tema novo do zero.

    Sobre os menus, se foi algo visual, provavelmente é uma questão de CSS. Verifique se incluiu o style.css do Tema Pai corretamente e se mais alguma coisa perdeu o CSS…

    Abraços!

  • O único arquivo obrigatório é o style.css. Qualquer outro arquivo (exceto o functions.php) irá prevalecer sobre o arquivo do Tema Pai.

  • Opa. Vlw, Cleverson!
    Abraços.

  • brodrigues1990

    Boa noite Mario
    Estou tendo problema em criar meu child theme do storefront do woothemes, fiz tudo que vc falou pra fazer e mesmo assim toda vez que ativo o tema filho da uma tela branca e não consigo fazer mais nada a não ser deletar o tema pra poder voltar ao normal, já tentei de tudo aki, tem alguma sugestão ?

  • Gregory Carmo

    Boa noite, fiz o que você disse, mas ai eu modifiquei a cor do meu header e do footer, e coloquei um texto em uma section, depois atualizei o meu tema, mas as cores do footer e do header mudaram, só o texto continuou, e esqueci de dizer que a logo tambem ficou. Porém dar um erro em cima do menu:

    NameError: variable @color-main is undefined
    in scheme.less?ver=1.5.2 on line 2, column 9:

    Estava vendo no fórum do meu tema, teve uma pessoa que teve esse erro também. Saberia o que é ?

    • Seu tema deve usar arquivos .less
      Não tenho muita experiência com eles, mas acho que devem ser compilados para serem transformados em CSS, então acho que não podem ser alterados de alguma forma… Não altere eles, para mudar estilo, deve mexer em arquivos .css

  • Lucas Barbosa

    Mario, vou escrever por aqui para compartilhar minha experiencia noob rs

    Eu consegui ativar o tema com sua dica pra inserir o codigo conforme acima descrito e entrou correto.
    O tema perde todo o estilo e conteúdo correto?

    Tem algum tuto para eu aprender a devolver o estilo e o conteúdo do pai?

    • Tem sim Lucas.

      Basta continuar lendo o passo-a-passo acima (mais precisamente a parte “Como modificar seu tema”).

      • Lucas Barbosa

        Ok vou tentando.

        • Fala Lucas, blz?
          Para que você não perca o estilo do tema pai você NÃO deve excluir nada do functions.php do tema pai, e chamar o estilo criando um novo functions.php dentro do tema filho usando o código demonstrado no artigo

          • Lucas Barbosa

            Gui, fiz isso, mas o codigo que colei fica sendo mostrado constantemente la no cabeçalho do painel do wp. Mas o tema ta ativado e porém não abre o site . EU copiei todo o conteúdo do Pai e joguei no filho alterando somente os arquivos style e functions. O BD não está la sei la como. Deveria estar né ja que copiei todo o conteúdo.

            • Cara, o functions.php é um arquivo .php sendo assim, você deve iniciar ele com <?php

              • Lucas Barbosa

                Obrigado Mario. Sei que parece coisa de preguiçoso mas realmente to iniciando agora.

                • De boas, Lucas. Todo mundo já foi iniciante algum dia.
                  Abração e qualquer coisa só falar :D

      • Lucas Barbosa

        Neste caso, eu copiei o codigo que vc postou na matrix e deletei tudo do functions e colei esse teu. Mas não rolo não.

        Dica?

        • Cara, não mexa no Tema Pai (o objetivo de criar um Tema Filho é justamente esse!)
          O meu código acima deve ir no functions.php do seu Tema Filho.

          Abraços!

  • Artur

    No meu caso, já cometi o erro. Criei todo o site no tema Pai.
    Qual a melhor forma de reverter o erro e começar a utilizar o ChildTheme, mantendo as configurações já efetuadas?

    • Cria um tema Filho e joga o que mudou lá dentro. Depois pode reinstalar o Tema Pai.

      Abraços!

  • Thiago Bento

    Mario, não entendo muito de WordPress e gostaria da sua ajuda, tenho um blog já em funcionamento em hospedagem paga.
    Acontece que eu estava fazendo as alterações direto no WordPress lá em editor.
    Agora quero fazer um tema filho….instalei wamp e baixei o WordPress , mas ele não puxa o meu site .
    O que faço nesse caso?

    • Olá, Thiago. Tudo bem?

      Olha.. para fazer o site que está na hospedagem funcionar localmente você vai precisar pegar todos os arquivos de lá e o banco de dados também. Ou então conectar sua instalação local ao banco de dados da hospedagem, mas algumas hospedagens não permitem fazer isso.

      Abraços!

      • Thiago Bento

        Obrigada pela breve resposta!
        Vc tem algun tutorial ou passo a passo

        • Tenho não Thiago.

          Mas você pode dar uma olhada na documentação do WordPress ou procurar por Migrando o WordPress no Google.

          Provavelmente você vai achar como passar do Localhost para o Servidor, mas é quase a mesma coisa: só fazer o sentido inverso.

      • Thiago Bento

        que eu possa seguir?

      • Thiago Bento

        Ou tem alguma forma de eu criar tema filho no meu wordprees que uso normalmente online, sem ter quer que ficar mexendo no tema pai?

        • Claro, Thiago.
          Esse artigo ensina como criar um Tema Filho. Basta segui-lo.

          • Thiago Bento

            Sim, mas digo no meu WordPress online e não o local, no caso meu site foi desenvolvido por um web design , então sempre acessei por login através do nomedomeusit-wp/admin

  • Pedro

    Mario uma duvida estava vendo seu post sobre tema filho

    algumas duvidas se caso eu mudar o css somente no tema filho qdo atualuzar nao perco essas alterações né?

    E outra coisa se eu alterar alguma coisa no codigo ou plugins perco qdo atualizar?

    E sobre as paginas elas sao criadas no tema filho certo?

    Valeu.

    • Isso, Pedro.
      A ideia do Tema Filho é justamente não perder o que foi modificado, afinal, quando você atualiza o Tema Pai apenas os arquivos do Tema Pai podem ser alterados. Então, o que você fizer no Tema Filho, permanecerá no Tema Filho.

      Se você alterar o Tema Pai, provavelmente vai perder as alterações quando o Tema Pai for atualizado, afinal esses arquivos podem ter sido alterados pelo desenvolvedor.

      Não entendi a ultima questão.

  • Bosco Carvalho

    Boa noite Mário,
    Como faço para colocar partes do Style.css do pai no do filho para manter algumas alterações que só posso fazer no do pai, já que no Style.css do filho só aparece a ‘chamada’ para o que está no do pai?
    Faço a pergunta, pois quero modificar partes do template original, que devem ter cores ou ausência de certos elementos, como linhas, p. ex. no tema filho.

    • Os dois arquivos CSS serão inclusos no HTML, dessa forma, basta escrever seu CSS normalmente para sobrepor o estilo do Pai. Há um artigo do Tableless que pode te ajudar nisso.

      Abraços!

      • Bosco Carvalho

        Mário,
        Taí a parte principal: não sei onde colocar as alterações sem que elas danifiquem o que não devem.
        Até que eu aprenda mais, gostaria que você, se não for pedir muito, claro, me indicasse quais elementos devo usar para colocar as alterações que quero, sem ter que copiar o Style.css do ‘parent’ no ‘child’. Se você concordar, envio por e-mail os dois css (o original e o modificado) mais o do ‘child’.

        • Então Bosco.
          Isso será mais do que apenas indicar os seletores. O que você está pedindo são alterações de Front-end (da interface): eu teria que criar uma instalação do site e ir modificando o que vc quer que mude e testando.

          Caso seja um detalhe e o site já esteja no ar, posso tentar te indicar o que fazer, mas se for mais que isso, infelizmente entra no escopo do meu trabalho e aí podemos fechar um orçamento caso tenha interesse.

          Abraços!

          • Bosco Carvalho

            Boa tarde Mário,
            Fui verificar e o template possui uma área reservada para as modificações no Style.
            É um excelente template ‘free’, o i-Craft, que recomendo aqui para todos, produzido pelo http://www.templatesnext.org/
            Abraços!

            • Ah sim, Bosco. Legal.
              Mas se você queria saber o local do código, então a resposta é no style.css do Child mesmo. Pode jogar o CSS todo lá.

              Eu havia entendido que você queria saber qual código colocar e não o lugar.

              Abraços!

  • Pingback: Como usar o Odin no meu tema? | It's me: Mário!()

  • CARLOS BOTELHO

    Excelente, valeu Mário…..

  • Caroline Eidt

    Olá Mário! Gostei muito do artigo… Quem sabe você consiga me ajudar… Comprei um tema para o meu site, o jupiter, no theme forest… estava tudo funcionando muito bem até que ontem eu vi que boa parte do visual do site ficou desconfigurado… será que isso tem a ver com a necessidade de atualização do tema e do visual composer, que vi que está sendo solicitado no wordpress? para que eu possa atualizar o tema e o visual composer e para que tudo funcione e não me gere mais problemas seria interessante criar o tema filho?

    • Olá Caroline. Tudo bem?
      Antes de qualquer coisa: faça back-up :)

      O Visual Composer é um plugin de criação de layout e muito provavelmente estava sendo usado para montar seu site (a maioria dos temas premium o utilizam), então se ele foi desativado, deve ser esse o problema.

      Mas agora vamos ver… você disse que reparou que o site perdeu o layout, né?
      O que foi feito para isso acontecer? Atualizou o WordPress?

      Se você atualizou o WordPress, tem que atualizar os plugins e temas também, pois por exemplo, o Visual Composer teve um problema com a versão mais nova do WordPress, mas logo em seguida lançaram uma nova atualização corrigindo isso.

      Sobre criar o Tema Filho: não. Você só cria um Tema Filho quando quer alterar algum arquivo do Tema Pai.
      Se você não mexer neles, pode usar apenas o Tema mesmo e mantê-lo atualizado (lembre de sempre fazer back-up antes de atualizar).

      Abraços

  • Heriberto Neto

    Tutorial bem feito maravilhoso !

  • Stupakoff

    Pq devo ter cuidado com temas pagos-gratuitos? Funciona diferente?

    • “tema pago-gratuito” é aquele tema que é premium (pago), mas você adquiriu de forma gratuita, ou seja, pirateado.
      Além de ser extremamente errado do ponto de vista moral (e legal) é também uma brecha para segurança, pois a fonte não é confiável: é extremamente comum hackers injetarem código malicioso nesse tipo de tema.

      Prefira sempre temas de fontes confiáveis (e no caso de temas pagos, a única fonte confiável é o próprio desenvolvedor).
      Abraços

  • ultimate_live

    Parabéns Mário. Mas me tira uma dúvida por favor. Eu instalei uma thema pai, e criei um tema filho. Até então tudo sem problemas. Criei um style.css e um functions.php. O funtions.php deixei assim:

    Ativei o tema filho. Mas antes que eu faça uma mudança, eu devo copiar todos os arquivos do tema pai para o tema filho, inclusive todas as pastas? Tenho esta dúvida, porque depois de instalar um tema, eu instalei um plugin para a criação de um tema filho e ativei. Fiz muitas alterações, criei páginas, categorias etc. Mas atualizei o tema pai, e depois quando ativei novamente o tema filho e danou-se tudo. Mesmo com Backup, não tinha como voltar atrás. Porque, não sei. Perdi muito tempo criando o site e depois perder tudo é dose.
    Não tenho noções como php, css, etc. apenas um curioso achando que criando um tema filho seria a solução.
    Então tenho que passar todos os arquivos e pastas do tema pai para o tema filho antes de mexer no site? Por gentileza, me dê uma luz. Agradeço um contato.

    • Olá, tudo bem?

      Você precisa copiar apenas os arquivos que vai modificar.
      Quando o WordPress não encontra um arquivo no Tema Filho, ele procura no Pai e por isso que a funcionalidade é tão legal.

      • ultimate_live

        Mas neste caso eu tenho que importar o arquivo php para a pasta do tema filho, que pretendo mudar, ou é tudo feito de forma automática? Até agora não consegui entender isso. Parece complicado.

        • Sim. Se você vai alterar um arquivo, você precisa criá-lo, claro.
          Como geralmente alteramos uma parte, copiamos o original, mas se você quiser mudar totalmente ou começar do zero, basta criar um arquivo PHP com mesmo nome.

          • ultimate_live

            Neste caso, não seria mais interessante, se eu copiar todos os arquivos do tema pai e copiar para o tema filho, menos o arquivo style.css? Desta forma não precisaria me preocupar em procurar codigos, arquivos php etc. Será que funciona desta forma também?

            • Não.
              A ideia do Tema Filho é sobrescrever só o que vai mudar. Senão é melhor você fazer um fork do tema logo e pronto…

              • ultimate_live

                Então se houver pastas e arquivos que serão sobrescritos, estes então serão adicionados aos tema filho, correto? Pois é um tema comprado e há o editor do próprio tema. como ficaria neste caso?

                • Vai depender de como o Tema Pai foi criado.
                  Dependendo de como o arquivo foi incluído (principalmente CSS/JS) apenas criar um arquivo novo não vai funcionar (e aí é um trabalho maior e vai de cada caso), mas no geral (arquivos de template do WordPress) é só isso mesmo.

                  Abraços

  • Olá, a maioria das suas perguntas são respondidas facilmente testando.
    É isso que aconselho: faça e veja se dá certo. Assim você vai aprender e começar a entender. Não tenha medo de tentar e errar até acertar. É assim que todos aprendemos.

    No mais, o melhor lugar para tirar dúvidas sobre como cada função funciona é no Codex. Basta procurar pela função e ler. A documentação do WordPress é uma das melhores do mundo e se ainda persistir dúvidas, não exite em perguntar no Fórum de Suporte.

    Agora pontuando algumas perguntas:

    Eu poderia adicionar também estas linhas ao “style.css” do
    tema filho, ou será tudo feito de forma automática?

    Não é muito legal usar o import do CSS pois ele é mais lento do que incluir os CSS no HTML.
    No meu artigo eu falo “Como existe um style.css no Child Theme, o original é descartado”. Então apenas o style.css do tema filho irá funcionar.

    Por isso, tanto eu quando o Codex falamos que o style.css do Tema Pai deve ser incluído novamente.
    Dessa forma, você pode simplesmente incluir o style.css do Pai novamente ou aproveitar e incluir os arquivos um por um via código da forma correta: usando a função wp_enqueue_style.

    E no caso do “functions.php”? Depois de criado, eu posso
    adicionar as mesmas linhas que tem no arquivo do tema pai, no “functions.php”
    do tema filho?

    Não! Se você ler o artigo acima, está escrito: “Isso acontece, porque todos os arquivos do Tema Pai (que são chamados pelo WordPress), com exceção do functions.php, são sobrescritos”, ou seja, o functions.php não é sobrescrito e é lido normalmente. Então, tanto o arquivo do Tema Pai, quanto o arquivo do Tema Filho (caso você decida criar um) serão lidos pelo sistema.

    Caso você tentasse copiar as funções do Pai no Filho, veria que o PHP retorna erro.

    Abraços!

    • ultimate_live

      Obrigado pela explicação.
      Bem. Fiz o primeiro teste aqui. O tema filho está ativado. A primeira coisa que fiz foi restaurar a tradução que eu já tinha feito antes. Peguei a pasta “lang” do tema pai que contem o conteúdo e copiei para o tema filho. Depois peguei a tradução e copiei para esta pasta do tema filho. Mas ao acessar o site, continua tudo em inglês. Agora, se eu copiar a tradução para o tema pai, o site está todo traduzido. Mas não deveria estar traduzido no tema filho, ou é necessário traduzir tudo novamente?

      • Infelizmente nem sempre é só criar um arquivo no Tema Filho, pois vai depender de como o Tema Pai foi construído.

        Para sua tradução, você pode colocar dentro de wp-contentlanguagesthemes. Só criar um arquivo com o domain do tema e o idioma (numa instalação nova você veria o do “twentysixteen” assim: twentysixteen-pt_BR).

        Obs: não testei se você usa o do Tema Pai ou o do Tema Filho. Vale testar e ver se dá certo.

        • ultimate_live

          Obrigado. Em relação a tradução, ela também tem que estar no diretório do tema pai, senão, não funciona. Então deixe me recapitular. Se eu quero alterar algo no site, eu pego o arquivo que será modificado do tema pai e copio para o tema filho. Quando então eu fizer alguma alteração, este arquivo que copiei para o tema filho será modificado, mas não o arquivo do tema pai, certo?
          Vou dar um exemplo. Tem um arquivo css que tem valores e moedas do mundo todo. Como utilizarei somente o Real, eu vou copiar este arquivo para o tema filho, removo as moedas que não irei utilizar e pronto. O arquivo do tema filho foi alterado e do tema pai não.
          É assim que funciona?
          Obrigado mais uma vez.

          • Não… você precisa fazer como eu disse:
            Para sua tradução, você pode colocar dentro de wp-contentlanguagesthemes. Só criar um arquivo com o domain do tema e o idioma (numa instalação nova você veria o do “twentysixteen” assim: twentysixteen-pt_BR).

          • Sim. A ideia é não mexer no Tema Pai, pois no caso de uma atualização os arquivos do Pai são sobrescritos.

  • ɯɐıl ʞɹɐʇs

    me ajudou!

  • Charles Ednei Kock

    Mário. Muito bom !!! Parabéns. Consegui fazer o tema filho perfeitamente nos temas que já vem instalado no word press. Mas eu utilizo o tema tesseract. Neste tema filho que foi criado aparece algumas mensagens de erro quando faço ativação no word press. Chega até a travar o admin do word press. Aí tenho que voltar para outro tema. Será que pode me dar um auxílio? Grato.

    • Charles, se você fez certo com os Temas padrão, então você está indo corretamente.
      O problema é com o tema Tesseract, nesse caso, é melhor entrar em contato com os criadores dele.

  • Emmanuel Alexandre Tavares

    Oi Mário,

    Acabei de ler seu artigo de 2014 a respeito de como criar um Child Theme no WordPress e fiquei com duas dúvidas:

    1. Eu criei o diretório, coloquei o CSS. O WP exigiu o index.php. Aí eu copiei o do Pai e pronto, apareceu na lista. Ativei e o site simplesmente parou de funcionar, não apenas ficou desformatou, apareceu o nome e tudo em branco.
    Criei o functions.php no filho com o seguinte conteúdo:

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

    Mas não funcionou.
    Then?

    2. Queria entender um pouco mais o lance de vários sites com o mesmo template e vários filhos. Na prática eu configuraria o Apache para apontar todos os domínios para o mesmo diretório, é isso? Mas como fica o config do WP que tem o acesso ao banco de dados? E o restante do conteúdo? Ele não vai misturar tudo em um wp-content imenso?

    Obrigado e parabéns pelo texto.

    Emanuel

    • Olá, tudo bem?

      Se o WordPress está pedindo o index.php então ele não está enxergando o seu Child Theme como um Tema Filho, mas sim como um tema qualquer. Tente conferir se está certo o style.css, por favor.
      Corrigindo isso, provavelmente irá corrigir também a questão do site parar de funcionar.

      Sobre o 2: a questão de vários sites seria uma Rede de Sites, ou seja, uma instalação do WordPress Multisite. Ele já tem todo o gerenciamento por ele mesmo, sem precisar apontar nada no Apache, além do que a instalação Multisite exige.

      A questão dos Temas Filhos entra nisso, porque na rede de sites você pode escolher um tema para cada site e então você poderia criar um Tema Pai e vários Temas Filhos, um para cada instalação dentro da Rede.

      Abraços

  • Me tira uma duvida, criei os arquivos e funcionou tudo beleza, mas eu preciso fazer mudanças especificas no arquivo header.php, e quando atualizo o tema eu perco isso, como eu faço para manter estas atualizações, por exemplo eu devo copiar este arquivo para a pasta child? e como eu faço a referencia ao arquivo no style.css ou function.php ?

    • Olá, Robson.
      Talvez você não tenha entendido bem como funciona o Tema Filho. Se der uma relida, vai ver que eu disse que “Um tema filho sobrescreve o tema pai” e “todos os arquivos do Tema Pai (que são chamados pelo WordPress), com exceção do functions.php, são sobrescritos, se houver um arquivo de mesmo nome (inclui-se a hierarquia de pastas) no Tema Filho”.

      Ou seja, você não muda o header.php do tema pai, mas sim cria um no tema filho e dessa forma, não vai perder a modificação ao atualizar. Geralmente o WordPress consegue achar os arquivos no Tema Filho sozinho, mas se por algum motivo precisar da função que busca arquivos na pasta do Filho, recomendo dar uma lida:

      * get_template_directory
      * get_template_directory_uri
      * get_stylesheet_directory
      * get_stylesheet_directory_uri
      * get_stylesheet_uri
      * get_stylesheet

      • obrigado, eu entendi que caso eu queira fazer mudanças especificas eu deva fazer no tema filho, eu copiei o arquivo footer.php e header.php e coloquei no tema filho, e as mudanças que eu fiz funcionaram, obrigado,

        • Massa! Espero que dê tudo certo e qualquer duvida só mandar aqui.
          Abraços