Para quem desenvolve temas WordPress, ou tem curiosidade em melhorar a qualidade do seu template, alterando o código dos arquivos para torná-lo mais funcional e ao mesmo tempo mais simples de usar, umas das estratégias a se pensar são as declarações condicionais e as tags do PHP. Recentemente, os colegas do wptuts falaram sobre esse assunto e deram alguns exemplos práticos bem interessantes para quem ainda não usa esse tipo de declarações e tags de PHP. O objetivo é que você possa aproveitar ao máximo os recursos do WordPress.
As declarações condicionais são extremamente poderosas e podem ajudá-lo a realizar uma série de ações no WordPress de forma extremamente simples e direta. Com uma utilização inteligente dessas declarações de PHP, você pode conseguir puxar muita informação e funcionalidades com o seu WordPress. Usando as declarações condicionais conjuntamente com as tags condicionais do WordPress, você consegue encontrar determinados textos, ou fazer com que uma determinada imagem apareça apenas em uma página específica. Dessa forma, não há a necessidade de criar novas páginas, ou templates para o efeito.
Compreender as declarações condicionais
Provavelmente, você já ouviu falar das declarações “if”, que, basicamente, definem que, se uma coisa for igual ou diferente de outra, uma ação acontece. Essa é uma declaração condicional do PHP, que é usada pelos arquivos de Temas WordPress, juntamente com algumas funções internas da plataforma, para definir a lógica e informar como os conteúdos devem ser apresentados, de acordo com os critérios definidos, a base de dados do WordPress. Essas declarações são extremamente importantes para, por exemplo, criar hierarquias nos templates.
Uma declaração condicional simples seria algo deste gênero:
<?php if ( ) { ?>......<?php } ?>
A seguinte declaração pode ser lida, basicamente, desta forma: “Se (if) alguma coisa acontecer = fazer alguma coisa”. Os critérios “acontecer” e “fazer” serão definidos, obviamente, por si. Você pode usar este gênero de declarações “if” dentro do WordPress sempre que desejar e sem qualquer tipo de restrição. O WordPress tem, também, um conjunto de declarações próprias que você pode usar.
As tags condicionais do WordPress
Existem diferentes tipos de tags condicionais dentro das declarações condicionais. Esse tipo de tag busca uma informação específica no banco de dados do WordPress e é definido por diferentes itens na plataforma, como, por exemplo, posts, tags, textos, imagens, categorias, entre outros.
Eis as tags condicionais mais populares do WordPress:
- is_page() - Ela é usada para atribuir uma determinada condição a uma das suas páginas específicas, como, por exemplo, a sua página “Contatos”. Você pode usá-la para se referir a essa página em concreto, usando o ID da página no banco de dados, o título, ou o slug/nome;
- is_category() – Usada para atribuir uma determinada condição a uma das suas categorias específicas, como, por exemplo, a sua categoria “Revistas”. Você pode usar esta tag para se referir a essa categoria em concreto, usando o ID da categoria no banco de dados, o título, ou o slug/nome;
- is_home() – Esta tag é usada para se referir à homepage do seu site/ blog;
- is_single() – Esta tag é usada para se referir a blogs de uma única página, artigos singulares, ou anexos;
- is_tag() – Esta tag é usada para se referir a arquivos de tags específicas. Trabalha de forma similar à tag condicional de categorias;
- is_archive() – Esta tag é usada para se referir a páginas de arquivos;
- is_search() – Esta tag é usada para se referir à página de resultados de pesquisas internas;
- is_404() – Esta tag é usada para se referir à página de erro HTTP 404;
- is_author() – Esta tag é usada para se referir à página de arquivos do Autor;
- is_comments_popup() – Esta tag é usada para se referir a um Popup de comentários.
Você pode ver a lista completa de tags condicionais no Codex do WordPress. Para tornar a compreensão mais fácil, por que não testarmos alguns exemplos?
Conteúdos diferentes em várias páginas
Imagine que você gostaria de mostrar uma imagem na sua primeira página, não mostrar nada na segunda, e mostrar um texto na terceira página. Obviamente, neste exemplo, você poderá trocar as páginas por casos reais, como as suas páginas de “Publicidade”, “Contatos”, “Sobre”, ou outras que desejar. O princípio aplica-se da mesma maneira.
<?php if ( is_page('First_Page') ) { ?>
<img src="imagem_aqui.gif" />
<?php } elseif ( is_page('Third_Page') ) { ?>
<p>Algum texto aqui….</p>
<?php } else { ?>
<?php } ?>
Estes códigos devem ser inseridos no artigo page.php, onde você deseja que o conteúdo seja apresentado.
Esta é uma declaração multi-condicional (veja a utilização de múltiplos recursos, como o “if, elseif, else…”). Este código vai procurar as páginas corretas e depois, utilizando as tags condicionais, mostrar a informação de acordo com o especificado. Você pode usar condições ilimitadas em um só código. Se você usar a declaração is_page(array(‘First_Page’,’Second_Page’)), você pode mostrar o mesmo conteúdo nas três páginas em simultâneo, por exemplo.
Mostrar um texto em um post ou em uma categoria
Aqui, você vai usar o símbolo “||” para mostrar algo, caso uma das condições seja cumprida. Se nenhuma das condições for cumprida, ele não vai mostrar nada.
<?php if is_category(Category_Page) ) || ( is_single(Single_Page) { ?>
<p>Mostrar texto aqui….</p>
<?php } else { ?>
<?php } ?>
Normalmente, nós usamos o símbolo “||” para verificar se alguma das condições foi cumprida. Alternativamente, poderemos usar o símbolo “&&” para criar uma condições do tipo E (algo E algo), em que ambas as condições têm de ser cumpridas para que o item seja apresentado visualmente ao usuário. O símbolo “!” é usado, normalmente, para excluir algo da lista. Veja este exemplo: !( is_page(Excluded_PageName)). Com este código, excluímos uma determinada página da equação automaticamente.
Verificar se um thumbnail (miniatura) para o artigo foi carregado
Este código verifica se foi carregada uma imagem de thumbnail (miniatura) para o artigo e, caso não tenha sido, ele carrega uma imagem alternativa.
<?php if(posted_thumbnail()) {
show_thumbnail();
} else {?>
<img src="<?php bloginfo('template_directory');?>/images/default_Image.gif" alt="Image not Displayed">
<?php }?>
Estas tags condicionais, e as próprias declarações condicionais, podem servir para tirar o máximo proveito do WordPress através de códigos super práticos - quando usadas com maestria.