Temas filho para conteúdo temático
O que você faz quando um cliente pede para você incluir alterações no site referente a uma data específica (natal, páscoa, dia do índio, etc)?
Você altera os arquivos do seu tema, inclui novas imagens, modifica o CSS, talvez alguns javascripts. Leva horas para fazer a alteração que vai ficar apenas 1 dia no ar (ou alguns dias) e depois tem que sair removendo tudo o que você colocou, tentando não esquecer de nada para deixar o site como estava. E lá se vão mais algumas horas.
Os temas filho podem facilitar muito essa tarefa. Não vou explicar aqui o que é um tema filho, pois existem muitos sites falando sobre 🙂
Vou direto ao assunto e mostrar como fazer isso de uma maneira simples:
Vamos tomar como base um tema tematizado (?) para o Natal. Você cria o seu tema base normalmente e cria um tema filho (“tema_natal”, por exemplo) com as alterações necessárias (bolinhas, arvorezinhas, neve caindo, etc).
Agora vem a grande sacada: ativar o tema automaticamente quando chegar o Natal.
No início do functions.php do seu tema base, você coloca:
if( date('d/m/Y') == '25/12/2013' ) { switch_theme( 'tema_natal' ); }
Isso supondo que você quer ativar o tema exatamente no dia 25/12/2013 e o seu tema filho de natal se chama “tema_natal”.
E no início do functions.php do seu tema de natal (o tema filho), você coloca:
if( date('d/m/Y') != '25/12/2013' ) { switch_theme( 'tema_base' ); }
Supondo também que você manter o tema somente para o dia do natal e o seu tema base se chama “tema_base”.
A verificação no “if” você pode fazer conforme a sua necessidade. Talvez você precise que o tema fique uma semana ou até um mês no ar. A grande sacada é a função “switch_theme”, que faz a troca do tema sem você precisar ir até o painel, “Aparência > Temas” e ativar seu tema filho.
Você pode deixar vários temas filho criados para Natal, ano novo, páscoa, aniversário da Dilma, etc. e ir fazendo a verificação da data para que o tema seja ativado no dia certo.
E você, gostou da dica? Já conhecia o switch_theme?
Muito boa a dica Fernando, parabéns pelo ótimo artigo.. Continue assim! 😀
Valeu @Guga! #tamojunto o/
Valew pela dica… nao conhecia esse código, ajudou muito
Que bom que ajudou 🙂
Seu blog é muito bacana, tem muitas dicas uteis esta por exemplo apliquei no meu site e ficou ótimo, parabéns pelo conteúdo.
Que bom que foi útil! 🙂
@ import url (“../classipress-dev-1/style.css”);
Bom dia,
Sou muito novato na área e busco aprendizado na internet, porem nem mesmo no wordpress encontro esta informação, será que pode me ajudar ?
no,@ import url (“../classipress-dev-1/style.css”); o quem vem do lugar dos pontinhos ?
Meu tema filho esta todo desorganizado. acho que ai resolveria o problema.
Olá Sérgio,
você pode buscar suporte no fórum oficial: https://br.forums.wordpress.org/
Ou no grupo de usuários no Facebook: https://www.facebook.com/groups/wordpress.brasil/
Ou ainda no Google+: https://plus.google.com/u/0/communities/117283558154786591213
Mas se você está colocando o import dessa forma, com o espaço entre o @ e o “import”, este é o seu problema. Tem que ser junto:
@import url( “../classipress-dev-1/style.css” );
Os dois pontos é o mesmo que você ir no terminal do seu sistema operacional e dgitar cd ../
Ele vai “voltar” um diretório.
Olá Fernando,
Agradeço sua orientação,fiz esta correção mas o site ainda esta desorganizado, vou manter o tema pai e treinar no wamp.
Abraços
Posta sua dúvida com mais detalhes nos grupos que te passei que vai ter mais gente pra poder te ajudar 🙂
Fernando boa tarde!
Consigo alterar o caminho das imagens no meu tema filho?
Exemplo:
<img src="/images/fone.png”>
Ele procura na pasta images do tema pai..
Obrigado
Sim @Claudio! O WP tem funções específicas para o tema pai e para o tema filho.
get_template_directory_uri() -> Acesso ao tema pai
get_template_stylesheet_uri() -> Acesso ao tema filho
O template pai é o que manda, então se usar a primeira função, ele vai usar a URL que direciona para o tema pai.
O tema filho, é o que está ativo, o que está usando o CSS atual (sabe lá no painel, que aparecem as informações do tema, baseado nas informações do CSS?).
Por isso você consegue acessar pela segunda função.
No teu caso, seria só usar:
<img src="/images/fone.png”>