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 colocar Gravatar nos comentários do WordPress 2.7

    Como vi que algumas pessoas tem chegado ao blog através de buscas, tentando descobrir como adicionar as imagens de Gravatar ao seu blog WordPress, resolvi escrever esta dica. Pra começo de conversa, o Gravatar só irá aparecer em seu site se este estiver corretamente configurado para isso. Para tal, vá em wp-admin -> Configurações ->…

  • Veja todas as novas funções do WordPress 3.8

    A cada nova versão do WordPress, novas funções interessantes vão surgindo. Vamos ver TODAS as novas funções do WordPress? A explicação de cada uma está em inglês, mas aos poucos vamos traduzindo para vocês 😉 get_theme_update_available Retrieve the update link if there is a theme update available. Will return a link if there is an…

  • Envie seus posts por email para seus amigos

    Hoje em dia é comum ver em alguns sites a opção de enviar seus posts ou artigos por email para seus amigos. No entanto, pelo que sei, o WordPress não oferece essa funcionalidade, mas abaixo você verá como enviar seus posts por email para seus amigos. Para conseguir este truque, abra o arquivo single.php do…

  • Corrigindo o erro ‘Allowed memory size Exhausted’ no WordPress

    Um pequenho hackzinho que pode ajudar aqueles que passaram pelo mesmo problema que passamos por aqui. Ao atualizar nosso site para o WordPress 2.8 (após um lógico backup de tudo), a seção administrativa do site apresentava a seguinte mensagem de erro: Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes)…

  • O que é e como utilizar o WP CLI

    O WP CLI é uma interface de linha de comando que permite que os usuários gerenciem seus sites WordPress a partir do prompt de comando. Escrito em PHP e sob licença MIT, você pode o utilizar para uma série de tarefas: Upgrades podem ser realizados, backups podem ser gerados, novos posts podem ser publicados e…

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