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

  • Fazendo a busca do WordPress funcionar apenas para algumas categorias

    Me passou pela cabeça a seguinte questão: Como excluir algumas categorias da busca do WordPress ? Passou pela sua também ? Então continue lendo esse post, a dica vem logo abaixo ! Adicione o código ao arquivo search.php: <?php if( is_search() ) : $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1; query_posts(“s=$s&paged=$paged&cat=9,11,16”); endif; ?> A seleção…

  • Como restaurar as colunas no dashboard do WordPress?

    Com o lançamento do WordPress 3.8, tivemos uma sensível diferença no dashboard para quem utiliza monitores com grandes resoluções: o Dashboard agora é responsivo, tendo eliminado a opção de definir quantas colunas devem aparecer nesta tela inicial. Quem usa grandes resoluções pode ter achado estranho ver o painel com 4, 5 colunas e não ter…

  • 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…

  • Exibindo as últimas postagens de outro blog WordPress

    Para exibir as últimas postagens de outro site WordPress, você deve adicionar o código abaixo no local desejado. Você pode adicionar no sidebar.php para exibir em sua barra lateral. <?php include_once(ABSPATH.WPINC.’/rss.php’); $feed = fetch_rss(‘https://feeds.feedburner.com/tudoparawordpress’); $items = array_slice($feed->items, 0, 5); ?> <?php if (!empty($items)) : ?> <ul> <?php foreach ($items as $item) : ?> <li> <a…

  • Temas Gratuitos X Temas Premium: Como escolher um tema WordPress?

    Escolher um tema para um site WordPress não é uma tarefa fácil. Há tantos temas bonitos, com descrições interessantes e características surpreendentes que escolher um pode ser uma tarefa complicada, mas é justamente esta liberdade e grande quantidade de opções de escolha que torna o WordPress uma opção das mais interessantes para usuários não-técnicos. No…

  • 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)…

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

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

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