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?

Posts Similares

  • Como adicionar CSS personalizado no painel administrativo do WordPress

    Como adicionar CSS personalizado no painel administrativo do WordPress

    Mais uma vez precisei adicionar algumas classes de CSS em algumas seções que criei no painel administrativo de um projeto em WordPress, com isso resolvi compartilhar a dica por aqui! Seguindo estes passos você também consegue, vamos a eles! Passo 1 – Seu arquivo .css Crie um arquivo admin.css e coloque em uma pasta do…

  • Entendendo o Date Query no WordPress 3.7

    Entendendo o Date Query no WordPress 3.7

    Muitas novidades interessantes foram divulgadas no lançamento do WordPress 3.7, e a que mais animou a comunidade de desenvolvimento foram as Date Query’s. Entendendo a Date Query O Date Query surgiu como um patch sugerido por Alex Mills, um desenvolvedor conhecido como Viper007Bond que introduziu a capacidade de fazer consultas baseadas em data complexas para buscar…

  • Como excluir uma categoria do feed RSS

    Temos o seguinte cenário: em um blog WordPress, temos uma categoria que não deve ser exibida via RSS.. como proceder para que tal categoria seja removida ? Simples ! Adicione a função abaixo no arquivo functions.php function myFilter($query) { if ($query->is_feed) {  $query->set(‘cat’,’-5′); } return $query; } add_filter(‘pre_get_posts’,’myFilter’); Lembre-se de alterar o id da categoria…

  • Inverta a ordem dos comentários em seu WordPress

    Por padrão o WordPress exibe os comentários na ordem cronológica (mais antigos para os mais novos). Especialmente para blogs com um grande número de comentários, pode ser interessante inverter esta ordem para mostrar os comentários mais novos primeiro. É claro que temos plugins que fazem isso, mas com uma simples edição em seu arquivo comments.php…

  • WordPress 2.9: como usar miniaturas nos posts?

    A versão 2.9 do WordPress introduziu uma funcionalidade que a meu ver é básica e já era amplamente utilizada, mas sem padronização. Cada desenvolvedor fazia à sua própria maneira: miniaturas para os posts.

  • Como utilizar javascript no WordPress de forma correta?

    Muitos desenvolvedores, ao criar seus temas, fazem chamadas para arquivos javascript da forma errada, não seguindo o padrão que o WordPress recomenda. Vamos aprender esse padrão? Vem comigo 😉 Dois problemas enquanto estiver usando JavaScript em Projetos WordPress Existem basicamente dois problemas importantes que você pode encontrar se você injetar arquivos JavaScript diretamente no WordPress com código…

Deixe um comentário

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

12 Comentários

  1. @ 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.

    1. 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.

  2. 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

  3. 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”>