Para quem desenvolve Temas WordPress ou tem curiosidade em melhorar a qualidade do seu template alterando o código dos ficheiros para o tornar mais funcional e ao mesmo tempo mais simples de usar, uma das estratégias a ter em consideração são as Declarações condicionais e as Tags do PHP que é usado no WordPress. Recentemente os colegas do wptuts falaram sobre este assunto, e deram alguns exemplos práticos bem interessantes para quem ainda não está usando este tipo de declarações e tags de PHP para tirar o máximo partido do seu WordPress.
As declarações condicionais são extremamente poderosas e podem ajudá-lo a realizar uma série de acções no WordPress de forma extremamente simples e direta. Com uma utilização inteligente destas declarações de PHP, você pode conseguir puxar muita informação e funcionalidades com o seu WordPress. Por vezes, quando você precisa de determinados textos ou que uma determinada imagem apareça numa página específica e em mais nenhuma página, usando as declarações condicionais conjuntamente com as tags condicionais do WordPress, você pode conseguir isso, sem ter a necessidade de criar novas páginas ou templates para o efeito.
COMPREENDER AS DECLARAÇÕES CONDICIONAIS
Provavelmente já ouviu falar das declarações “If”, que basicamente definem que se uma coisa for igual ou diferente de outra, uma acção acontece. A declaração IF é uma declaração condicional do PHP. Estas declarações são usadas pelos ficheiros de Temas WordPress juntamente com algumas funções internas do WordPresss para definir a lógica e informar a base de dados do WordPress de que forma os conteúdos devem ser apresentados de acordo com os critérios definidos. Estas declarações são extremamente importantes para criar hierarquias nos templates, por exemplo.
Uma declaração condicional simples seria algo deste género:
<?php if ( ) { ?>......<?php } ?>
A seguinte declaração basicamente pode ser lida da seguinte 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
Diferentes tipos de tags condicionais existem dentro das declarações condicionais. Este tipo de tags buscam informação específica no banco de dados do WordPress. Estas tags condicionais são definidas por diferentes items no WordPress, como por exemplo posts, tags, textos, imagens, categorias etc.
Eis as Tags condicionais mais populares do WordPress:
- is_page() – Se você pretende atribuir uma determinada condição a uma das suas páginas específicas, por ex. a sua página “Contatos”. Você pode usar esta tag 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() – Se você pretende atribuir uma determinada condição a uma das suas categorias específicas, por ex. 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.
EXEMPLOS DE UTILIZAÇÃO
Para tornar a compreensão mais fácil, porque 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 página, 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 na mesma.
<?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 ficheiro 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, mostra a informação de acordo com o especificado. Você pode usar condições ilimitadas num 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 num post OU numa categoria
Aqui você irá necessitar de usar o símbolo “||” para mostrar algo caso uma das condições seja cumprida. Se nenhuma das condições for cumprida, ele não mostra nada.
<?php if is_category(Category_Page) ) || ( is_single(Single_Page) { ?> <p>Mostrar texto aqui….</p> <?php } else { ?> <?php } ?>
Usamos o símbolo “||” para verificar se alguma das condições é 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, excluimos 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, quando usadas com mestria, podem servir para tirar o máximo partido do WordPress através de códigos super práticos.
Até Já!