X

Tags Condicionais do WordPress: Guia Rápido e Manual (2026)

As tags condicionais do WordPress são um ótimo recurso do WordPress que permite controlar qual conteúdo é exibido em uma página. Existem tags condicionais para diferentes áreas do seu site, como sua página inicial, posts de blog e páginas. Isso permite que você altere o que é exibido em seu site. Por exemplo, você pode alterar o logotipo do seu site em diferentes áreas do seu site.

Neste tutorial, explicarei quais tags condicionais estão disponíveis para você e mostrarei como elas podem ser usadas em temas e plugins.

Como Funcionam as Tags Condicionais do WordPress

As tags condicionais são um tipo de dado booleano que só pode retornar verdadeiro ou falso. A tag is_home(), por exemplo, refere-se ao índice do blog. Podemos usar essa tag para exibir uma mensagem aos visitantes do nosso blog. Essa mensagem não será exibida em outro lugar.

O código é simples. Tudo o que estamos fazendo abaixo é verificar se a página que está sendo exibida é a página de índice do blog. Se for, exibimos nossa mensagem.

<?php         

if ( is_home()) {

echo "Welcome to Our Blog!!";

}

?>

O acima é um exemplo básico do que pode ser alcançado usando tags condicionais, no entanto, é essencialmente tudo o que há para isso. Você está simplesmente verificando o tipo de página que está sendo exibida. Dependendo se o resultado é verdadeiro ou falso, outra parte do código é acionada.

Antes de vermos mais exemplos de como as tags condicionais podem ser usadas, vamos primeiro analisar as tags condicionais populares que você provavelmente verá usadas em seus temas do WordPress.

  • is_home() – Verifica se o índice de posts do blog está sendo exibido. Esta pode ou não ser também a sua página inicial.
  • is_front_page() – Verifica se a sua página inicial está sendo exibida. Isso funciona se as configurações da sua página inicial estão definidas para exibir posts do blog (ou seja, índice do blog) ou uma página estática.
  • is_single() – Verifica se algum tipo de post individual está sendo exibido (excluindo anexos).
  • is_attachment() – Verifica se um anexo está sendo exibido.
  • is_page() – Verifica se uma página está sendo exibida.
  • is_singular() – Verifica se um post individual, anexo ou página está sendo exibido. Retorna true se alguma dessas condições for atendida.
  • is_category() – Verifica se uma página de arquivo de categoria está sendo exibida.
  • is_search() – Verifica se uma página de resultados de pesquisa está sendo exibida.
  • is_tag() – Verifica se uma página de arquivo de tag está sendo exibida.
  • is_author() – Verifica se uma página de arquivo de autor está sendo exibida.
  • is_archive() – Verifica se algum tipo de página de arquivo está sendo exibida, incluindo arquivos de categoria, tag, data e autor.
  • is_sticky() – Verifica se um post foi definido como fixado.
  • is_multi_author() – Verifica se mais de um autor publicou posts no site. Retorna true se duas ou mais pessoas publicaram posts. Se apenas um autor publicou posts, ou se nenhum post foi publicado, retorna false.

Existem seis tags condicionais baseadas em tempo que você também achará úteis. Essas tags se referem a páginas de arquivo de data. Por exemplo, o URL http://www.seusite.com/2013/12/ é uma página de arquivo baseada em mês.

Se alguma das seguintes tags condicionais retornar true, is_archive() também seria true.

  • is_date() – Verifica se é uma página de arquivo baseada em data.
  • is_year() – Verifica se é uma página de arquivo baseada em ano.
  • is_month() – Verifica se é uma página de arquivo baseada em mês.
  • is_day() – Verifica se é uma página de arquivo baseada em dia.
  • is_time() – Verifica se é uma página de arquivo baseada em hora.
  • is_new_day() – Verifica se hoje é um novo dia. Se o post atual foi publicado em um dia diferente do post anterior publicado, retornará true. Retornará false se ambos os posts foram publicados no mesmo dia.

Você se deparará com tags condicionais como is_home() e is_single() com frequência, no entanto, você não precisa se lembrar de todas essas tags condicionais. A maioria dos usuários do WordPress consulta o codex do WordPress para a tag condicional apropriada quando precisa configurar uma função condicional.

Exemplos de Tags Condicionais

Muitas tags condicionais permitem que parâmetros sejam passados para a função. Isso lhe dá muito mais controle sobre quais condições precisam ser atendidas antes que algo seja executado. is_page() é um bom exemplo disso. A tag permite que você verifique se a página que está sendo exibida é uma página. is_page() retornará um valor true se qualquer página for exibida, no entanto, você precisa especificar o parâmetro $page se quiser ser mais específico. O parâmetro $page pode ser o ID da página, o título da página ou o slug da página.

Vamos considerar um site comum que tem uma página 'sobre' e você deseja personalizar a página 'sobre' de forma diferente de todas as outras páginas. Por exemplo, você pode exibir uma fotografia da sua empresa no topo da barra lateral, ou você pode exibir informações adicionais na parte inferior da página 'sobre'.

Para fazer isso, você precisa definir o parâmetro $page. Se o ID da página fosse 10, você poderia abrir sua instrução condicional com algo como isto:

if ( is_page(10) ) {

Uma página específica também pode ser especificada passando o título da página para a função.

if ( is_page( 'About Us' ) ) {

O slug da página também pode ser usado. Como você deve se lembrar, o slug da página é o identificador exclusivo nomeado no final do URL. Se o URL da sua página sobre fosse www.seusite.com/sobre-nossa-empresa/, o slug da página seria sobre-nossa-empresa.

if ( is_page( 'about-our-company' ) ) {

Algumas tags condicionais, como is_page(), também podem passar parâmetros em um array. A seguinte instrução condicional retornará um valor verdadeiro se qualquer uma das condições for verdadeira.

if ( is_page( array( 10, 'About Us', 'about-our-company' ) ) ) {

É comum que os desenvolvedores definam mais de uma condição ao usar tags condicionais. Vamos voltar à tarefa simples de exibir uma mensagem de boas-vindas aos visitantes do blog. Isso é algo que um site corporativo pode querer adicionar à sua área de blog, mas não a outras áreas de seu site (por exemplo, página inicial, página de contato, página sobre, etc.).

Eles podem fazer isso usando as tags condicionais is_home() e is_single(); que representam o índice do blog e posts individuais, respectivamente. Para exibir uma mensagem em ambas as áreas, você precisa usar o operador lógico OR ||. Isso é ilustrado no código abaixo. A instrução if inicial verifica se a página é o índice do blog ou um post individual. Se qualquer uma for verdadeira, a mensagem é exibida.

<?php         

if ( is_home() || is_single() ) {

echo "Welcome to Our Blog!!";

}

?>

Outro operador lógico que é muito útil é o operador AND &&. Isso é usado quando você quer que duas ou mais condições sejam verdadeiras antes que algo seja acionado. A seguinte instrução if verifica se uma página é uma página de arquivo e está categorizada sob a categoria de notícias. Nas páginas da categoria de notícias, a mensagem de boas-vindas será exibida. Nada será exibido em outras categorias.

<?php 

if ( is_archive() && is_category( 'News' ) ) {

echo "Welcome to the News Archives";

}

?>

Os operadores AND e OR podem ser combinados. O exemplo abaixo é retirado do arquivo functions.php do tema padrão do WordPress Twenty Thirteen. A função é usada para exibir o título da página no navegador, no entanto, apenas parte da função é mostrada abaixo.

A instrução if retorna um valor true se houver uma descrição do site e o usuário estiver visualizando o índice do blog ou a página inicial. A descrição do site pode ser inserida através do campo tagline em sua área de configurações gerais. Se você preencher este campo, no índice do seu blog e na página inicial, a barra de título exibirá “Título do Site | Descrição do Site” (observação: o separador é exibido usando a string $sep no código abaixo). Se você não preencher, a barra de título exibirá “Título do Site”.

Como você pode ver, is_home e _is_front_page são vistos como uma única entidade devido ao operador OR. É por isso que eles estão entre parênteses.

if ( $site_description && ( is_home() || is_front_page() ) )
		$title = "$title $sep $site_description";

Outro operador lógico PHP que você pode usar é o operador not !. Isso é mais prático de usar em muitas circunstâncias. Por exemplo, digamos que você queira exibir uma fotografia em todas as suas páginas, exceto nos seus arquivos. Não há necessidade de configurar uma longa instrução condicional que pergunte “Esta é a página inicial, esta é uma postagem única, esta é uma página…”. É mais prático simplesmente perguntar “Esta não é uma página de arquivo?”.

Para fazer isso, basta adicionar um ponto de exclamação antes da tag condicional. O código abaixo mostra o quão direto isso é na prática. Ele exibirá uma imagem em todas as páginas do seu site, exceto nas páginas de arquivo.

<?php 

if ( !is_archive() ) { ?>

<img src="photo.jpg" />

<?php 

}

?>

Até agora, vimos exemplos básicos de tags condicionais sendo usadas onde algo é acionado ou não é acionado (ou seja, se A for verdadeiro, faça B). Na prática, geralmente há outra ação a ser feita se uma condição não for atendida. Além disso, pode haver várias condições que podem ser atendidas, com uma resposta diferente para cada uma delas.

Em vez de escrever muitas instruções individuais para isso, é prático usar as instruções else e elseif. Isso permite um maior grau de controle sobre o que é exibido em seu site.

Podemos mostrar isso usando um exemplo. Digamos que você queira mostrar um logotipo diferente em seu site em diferentes áreas do seu site. Como você faria isso? A resposta é simples: Usamos as instruções else e elseif. O código abaixo mostra como isso pode ser alcançado.

<?php 

if ( is_home() || is_front_page() ) { ?>

<img src="logo-home.png" />

<?php 

} elseif ( is_category() ) { ?>

<img src="logo-category.png" />

<?php 

} elseif ( is_single() ) { ?>

<img src="logo-blog-post.png" />

<?php 

} elseif ( is_page() ) { ?>

<img src="logo-page.png" />

<?php 

}

else { ?>

<img src="logo-general.png" />

<?php 

}

?>

Dependendo da área do site que um visitante está visualizando, um de cinco logotipos seria exibido usando o código acima. É um exemplo básico que ilustra com que facilidade as instruções else e elseif podem ser usadas para controlar muitas áreas diferentes do seu site.

As instruções Elseif também são usadas em outras partes do WordPress. A maioria dos templates functions.php as utiliza e muitos temas do WordPress as usam para alterar a forma como o título do site é exibido nos navegadores.

Mais Tags Condicionais

Há um número de tags condicionais adicionais disponíveis. Muitas delas são usadas por desenvolvedores em temas e plugins.

Abaixo está uma lista de algumas das outras tags condicionais que estão disponíveis para você.

  • is_tax() – Verifica se uma página de arquivo de taxonomia personalizada está sendo exibida.
  • has_term() – Verifica se o post atual tem um dos termos especificados.
  • taxonomy_exists() – Verifica se o nome da taxonomia existe.
  • post_type_exists() – Verifica se um tipo de post existe.
  • is_post_type_hierarchical( $post_type ) – Verifica se o tipo de post é hierárquico.
  • is_post_type_archive() – Verifica se a página de arquivo de um tipo de post específico está sendo exibida.
  • is_comments_popup() – Verifica se a janela pop-up de comentários está aberta.
  • comments_open() – Verifica se os comentários são permitidos para o post ou página atual.
  • pings_open() – Verifica se os pings são permitidos para o post ou página atual.
  • is_feed() – Verifica se a consulta atual é para um feed.
  • is_404() – Verifica se um erro 404 está sendo exibido.
  • is_paged() – Verifica se a página que você está visualizando é uma página paginada, diferente da página um. Posts e páginas são paginados quando você usa a quicktag nextpage em seu conteúdo para dividir posts grandes.
  • is_trackback() – Verifica se um trackback está sendo usado.
  • is_admin() – Verifica se o usuário está logado na área administrativa. Não é usado para verificar se um usuário tem privilégios de administrador, apenas se ele está logado no painel do WordPress.
  • is_page_template() – Verifica se a página visualizada está usando um template de página. Um template de página específico pode ser definido, se necessário.
  • is_preview() – Verifica se um post do blog está sendo visualizado em modo de rascunho.
  • has_excerpt() – Verifica se o post atual tem um resumo. Posts específicos podem ser definidos.
  • has_nav_menu() – Verifica se um local de menu tem um menu atribuído. Isso é usado por desenvolvedores de temas para mostrar algo caso o usuário não tenha adicionado um menu.
  • in_the_loop() – Verifica se o chamador ainda está dentro do loop do WordPress.
  • is_active_sidebar( $index ) – Verifica se uma determinada barra lateral está sendo usada.
  • is_multisite() – Verifica se o multisite é suportado.
  • is_main_site() – Verifica se um multisite é o site principal na rede.
  • is_super_admin() – Verifica se um usuário é um super administrador na rede.
  • is_plugin_active( $plugin ) – Verifica se um plugin está ativado.
  • is_child_theme() – Verifica se um tema filho está sendo usado.
  • current_theme_supports( $feature ) – Verifica se um tema suporta um recurso específico, como formatos de post ou imagens destacadas.

Também verifique: Como Remover Taxonomias Padrão.

Tags condicionais são um conceito importante do WordPress. Devido à sua utilidade, existem poucos temas do WordPress projetados sem elas. Assim que você entender as instruções `else`, `elseif` e operadores lógicos como `AND`, `OR` e `Not`; você será capaz de lidar com qualquer função condicional.

Espero que este guia tenha ajudado você a aprender como usar as tags condicionais do WordPress em seus temas.

Se você gostou deste artigo, junte-se ao IsItWP no Twitter.

Comentários   Deixe uma resposta

  1. oi, estou tendo um problema na execução da instrução condicional…

    if ( is_home() || is_front_page() || is_page_template(‘templates/template-home.php’) ) { // } elseif ( is_page() && $inner_disable == ‘disable’ ) { // } elseif (is_singular( array( ‘products’ ) ) ) { trav_get_template( ‘inner-3.php’, ‘/templates/inners’ ); }////consegui fazer funcionar elseif ( is_page() && is_page_template( ‘templates/custom-page.php’ ) ) { trav_get_template( ‘inner-p.php’, ‘/templates/inners’ );////mas não estou obtendo este resultado…em vez disso, estou obtendo o abaixo para esta condição também. } else { trav_get_template( ‘inner-1.php’, ‘/templates/inners’ ); }

    1. Você está recebendo uma mensagem de erro?

  2. Northwesterner May 27, 2019 at 7:13 pm

    Exceto que ensinar: { ?> com a chave localizada dentro da tag de fechamento do php é uma sintaxe inadequada. Consulte tutoriais de código WP ou PHP.

  3. Martins Toritseju April 27, 2019 at 11:13 pm

    Este é um ótimo tutorial. Ajudou-me muito na criação do meu tema filho.

    1. Olá Martin, fico feliz que tenha ajudado. Siga-nos no Facebook e Twitter para mais tutoriais. :)

  4. Henrique Silvério June 4, 2014 at 1:47 pm

    Boas dicas. Entender como usar tags condicionais é um requisito fundamental para desenvolvedores WordPress. 🙂

  5. Nebulas Website Design May 22, 2014 at 6:16 am

    Obrigado por isso, tenho que fazer um trabalho no site de um cliente, então um link só aparece em uma determinada categoria de loja, então isso será útil, obrigado.

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!