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

  • Quanto tempo devo esperar para atualizar meu WordPress?

    Com o lançamento do novas versões do WordPress, ouvimos vários relatos de complicações na atualização e erros acontecidos.. Eu mesmo já sofri um pouco com isso, na era do WordPress 2.X, e tais erros sempre geram alguma repercussão na comunidade de usuários do WordPress, principalmente fora do Brasil, como pude acompanhar.. A grande pergunta feita…

  • Não tema as atualizações automáticas do WordPress 3.7

    Após o lançamento do WordPress 3.7, muitas reações diferentes puderam ser observadas sobre as atualizações automáticas. De ‘Eu quero o controle das minha atualizações’ à ‘Essa atualização automática do WordPress 3.7 quebrou alguma coisa no meu site’, alguns relatos mostram que alguns usuários não estão preparados para deixar o sistema “se melhorar” sozinho. Para quebrar…

  • Autenticação unificada para vários WP no mesmo servidor

    Já havia tentado sem sucesso usar as constantes CUSTOM_USER_TABLE e CUSTOM_USER_META_TABLE, criadas para proporcionar a possibilidade de autenticação única para várias instalações do WP (veja aqui). Mas recentemente tive que tentar novamente – com a diferença que agora tinha que conseguir! Depois de ler artigos e discussões a respeito, cheguei à conclusão triste que a…

  • Como adicionar um favicon para seu site WordPress

    Vamos a uma dica muito legal para adicionar um favicon ao seu blog no WordPress, encontrada no Blog do The Best e ajustada e simplificada para tirar a dúvida de uma visitante de nosso blog que me mandou um email e motivou esta dica 🙂 O que é o tal do favicon? Ele nada mais…

  • Configurações adicionais no wp-config.php

    O wp-config.php é o arquivo de configuração do WordPress, onde definimos basicamente as informações de conexão com o banco de dados e algumas outras coisinhas. Vamos mostrar que há muita coisa útil para o seu site que pode ser definida aqui. A princípio, o arquivo original ‘wp-config-sample.php’ contém apenas algumas constantes que precisamos ou podemos…

  • Migração do WordPress: Movendo o WordPress com o PhpMyAdmin

    O WordPress tem um sistema bastante funcional de exportação/importação, mas quando usamos esse método para transportar nosso WordPress para uma nova hospedagem, por exemplo, importamos todos os posts e páginas com seus respectivos comentários, mas todo o resto (como plugins e configurações) é perdido. Entretanto, se temos o PhpMyAdmin instalado em ambos os servidores envolvidos…

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