Como ter um background diferente em cada categoria

Já recebi alguns emails e respondi alguns tópicos no fórum sobre como ter um background/banner/imagem diferente em cada categoria do WordPress. Como é algo simples e que pode ter muitas utilizadades resolvi fazer este rápido tutorial explicando o passo-a-passo. Para exemplificar utilizarei o tema Mystique, que além de ser muito bom possui um background que poderemos utilizar neste exemplo.

Antes de colocarmos a mão na massa vamos primeiro explicar a teoria. No WordPress existe um recurso chamado Condicional Tags que nos permite realizar uma tarefa apenas se atender uma condição. Por exemplo, exiba este menu apenas se a página for a inicial. Com o tempo é fácil perceber o poder que as condicionais possuem e a quantidade de coisas que se podem fazer com elas, principalmente em termos de personalização.

Então vamos cair em campo, no CSS do tema Mystique há uma id chamada page que define o background.

#page{background:transparent url(images/header.jpg) no-repeat center top;}

A idéa é criar uma id para cada categoria e claro, um background para cada uma também, para isso acrescentaríamos mais algumas linhas de código ao CSS.

#page{background:transparent url(images/header.jpg) no-repeat center top;}
#page1{background:transparent url(images/header1.jpg) no-repeat center top;}
#page2{background:transparent url(images/header2.jpg) no-repeat center top;}
#page3{background:transparent url(images/header3.jpg) no-repeat center top;}

Não esqueça de criar as novas imagens que serão usadas como background e fazer o upload, neste exemplo seriam as imagens header1.jpg, header2.jpg e header3.jpg. Feito isso é hora de usarmos as codicionais do WordPress e dar o pulo do gato. No arquivo header.php, exatamente na linha 30, existe o código:

<div id="page">

Empregando as codicionais nós iremos fazer com que o valor da id “mude” de acordo com a categoria que esteja sendo exibida.

<?php if (is_home()) { ?>
<div id="page">
<?php } else if (is_category('noticias')) { ?>
<div id="page1">
<?php } else if (is_category('novidades')) { ?>
<div id="page2">
<?php } else if (is_category('geral')) { ?>
<div id="page3">
<?php } ?>

Interpretando o código: Se a página for a home faça id=”page” e por consequência o background exibirá a imagem header.jpg, caso a página seja da categoria notícias faça id=”page1″ e a imagem do background exibirá a imagem header1.jpg e assim por diante.

Simples não? Se você der uma olhada na página do Codex referente as Condicional Tags verá que existe dezenas de opções. Você poderá utilizar para os mais diversos fins, por exemplo, exibir anúncios de DVD’s apenas na categoria filmes, ocultar o menu lateral das páginas e posts, etc.

Rapidinhas da semana

Algumas notícias que não chegaram a render um post mais que não poderia deixar de comentar aqui no blog.

Folha de Ajuda para desenvolvedores WordPress

O blog WPcandy criou em parceria com o Liquidicity o WordPress Help Sheet e o WPTG traduziu esta folha de ajuda para português. Nela você vai encontrar várias tags bastante comuns para quem desenvolve temas para o WordPress.
Folha de Ajuda para WordPress
Gostou? Faça o download agora mesmo e comece a desenvolver seus temas. :)

Plugin cria metakeywords com as tags do WordPress 2.3

O plugin WPtags 4 MetaKeywords cria automaticamente metakeywords dos artigos e páginas do seu blog. Utilizando este simples e eficiente plugin você estará otimizando seu blog para as ferramentas de busca.

Lembre-se que só funcionará com a versão 2.3 pois o plugin utiliza as tags nativas do WordPress.

[update] Depois do comentário de Marcus, eu descobri que o plugin All in one SEO Pack já foi atualizado para o WordPress 2.3 e além de utilizar as tags nativas para adicionar Meta Keywords no cabeçalho, este plugin adiciona outros elementos Meta, otimiza os títulos da página e evita indexação de conteúdo duplicado. Bem melhor! :) [/update].

Como exibir tags no WordPress 2.3

Na próxima semana, mas precisamente dia 24, será lançado o WordPress 2.3 e uma das novidades mais aguardadas é a utilização de tags nativo ao sistema, dispensando o uso de plugins.

Para exibir as tags no seu tema você deverá adicionar, nos arquivos index.php e single.php, o código <?php the_tags(“antes”, “separador”, “depois”); ?>. Em um exemplo prático podemos exibir as tags separadas por vírgula sem nenhum código antes ou depois, para isso adicione o código da seguinte forma: <?php the_tags(“”, “, “, “”); ?>

Também haverá a possibilidade de exibir a nuvem de tags com a inserção do código <?php wp_tag_cloud(“smallest=8&largest=36&”); ?>, onde “smallest=8″ e “largest=36″ significam que o menor texto terá tamanho 8 e o maior terá 36.