Usando conditional tags para o WordPress

Como o WordPress gera automaticamente as páginas e posts, é impossível alterar a estrutura de uma página única, certo? Errado. O Matt (criador do WordPress) pensou em tudo e criou assim as Conditional Tags. Elas servem para definir atributos para conteúdos específicos do WordPress, como Pages, Posts, além de Tags, Autores, Anexos, Feeds, Arquivos…

As Conditional Tags funcionam basicamente com condições (if’s) dentro dos quais você pode definir valores para aqueles elementos. Vamos a exemplos mais práticos:

Aqui no blog por exemplo, queríamos fazer uma meta description somente para home. No entanto, o WordPress trabalha com includes, ou seja, o arquivo do header – onde ficam as metatags – , é um só para todos as páginas / posts.

Para resolver, foi só colocar no header:

<?php if ( is_home() ) { ?>
    <meta name="description" content="Internet e vida a dois - unindo o útil ao desagradável. Um blog de um casal meio geek, que só sabe falar disso." />
<?php } ?>

Da mesma forma, poderíamos definir propriedades exclusivas para autores ( is_author () ); categorias ( is_cathegory () ); posts ( is_single () ); etc. Dentro dos parênteses, bastaria setar o id do banco de dados ou nome do autor, categoria, post, etc.

Nesse caso, mais um exemplo seria e colocar em todos os textos do Danilo aqui no blog uma frase “Vaii Corinthiiians!”, pra quando não fosse o Danilo (no caso, quando fosse eu) seria “Vaii Cruzeiiro!!”. Não vou fazer isso de verdade, mas se fizesse, o código ficaria assim:

<?php
if (is_author('Danilo')) {
    echo 'Vaiii Corinhtians!!';
} else {
    echo 'Vaii Cruzeiiiro!!';
}
?>

Isso torna o WordPress altamente customizável, e possibilita o uso do sistema como um CMS. Outro grande auxilio é conhecer a hierarquia de templates – ou Template Hierarchy – mas isso é assunto pra outro post.

Mais sobre a documentação de Conditional Tags em Codex(em inglês).

Leave a Reply

Your email address will not be published. Required fields are marked *