Novas Funções (Functions) do WordPress – Parte 2
Voltando a série de post sobre as novas funções do WordPress 2.8, hoje vou falar sobre a função is_page ou is_page_or_sub.
Se você ainda não leu o primeiro post desta série, eis ai o link:
is_page ou is_page_or_sub(); function
Vamos inventar uma situação, talvez eu acerte na mosca o que você precisa ou então passe raspando, rsrs. Em alguns projetos é necessário um estilo diferenciado ou uma função especial para uma determinada página. Peguemos como exemplo uma página de portfólio. Até o wordpress 2.7 você declararia o seguinte código em php para criar esta função especial ou seja lá o que for:
<?php if(is_page('portfolio')) : ?> //Se for apareça, ou faça isto... <?php else :?> //E se caso eu usar o else...Se não(else), apareça ou faça isto... <?php endif; ?>
Para aqueles que ainda nem conhecem a função is_page(). Recomendo que dêem uma lida na documentação do WordPress, pois vou explicar rapidamente. Esta função irá retornar valores booleanos (verdadeiro ou falso / true ou false). Se for verdadeiro será executado a sua função que você estabelecer, caso seja falso não executará ou executará uma função diferente. Alem de usar o nome de página podemos usar o ID, o slug da página ou todos de uma vez. Observe:
<?php is_page(42); // Usando o ID. is_page('Contato'); // Usando o nome ou titulo da página. is_page('about-me'); // usando o slug da página. is_page(array(42,'about-me','Contact')); // Ou usando todos.... é útil para uma função que vai em mais de uma página. ?>
Agora voltando a situação anterior:
-Rá, tem um probleminha… se esta página for uma sub_pagina da página Portfólio? Até então você teria que fazer uma gambiarra, ou um monte de if, mas fique feliz, seus problemas acabaram :). Em vez de usar somente is_page use is_page_or_sub.
<?php if(is_page_or_sub('portfolio')) : ?> //Se for apareça, ou faça isto... <?php else :?> //E se caso eu usar o else... Se não(else), apareça ou faça isto... <?php endif; ?>
Para uma explicação mais “técnica”, a função irá checar se a página tal ou uma sub_pagina (child ) da página tal existe, se existir ele executa o código.
Espero que tenham entendido, qualquer dúvida pode perguntar, só fazer um comentário no post.
Depois leia também:
Documentação do WordPress – Função Is_page
Documentação do WordPress – Lista de Funções
Até a próxima.
2 Comentários
Igor disse:
4 de maio de 2011 às 17:00
Tem como combinar Is_page e is_home para exibir o mesmo conteúdo? por exemplo:
Mas no meu caso não está aparecendo o arquivo tabs.php onde deveria
Igor disse:
4 de maio de 2011 às 17:01
Consegui, apenas trocando “&” por “or”