O melhor guia para tags condicionais do WordPress

As tags condicionais do WordPress são um ótimo recurso do WordPress que permite controlar o conteúdo exibido em uma página. Existem tags condicionais para diferentes áreas do seu site, como sua home page, postagens e páginas do blog. Isso permite alterar o que é exibido em seu site. Por exemplo, você pode alterar o logotipo do site em diferentes áreas do 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

Tags condicionais são um tipo de dados 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 para os visitantes do nosso blog. Esta mensagem não será exibida em outro lugar.

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

<?php

if (is_home ()) {

eco "Bem-vindo ao nosso blog!!";

}

?>

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

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

  • é o lar() – Verifica se o índice de postagem do blog está sendo exibido. Esta pode ou não ser sua página inicial também.
  • is_front_page () – Verifica se sua página inicial está sendo exibida. Isso funciona se as configurações da página inicial estiverem definidas para exibir postagens do blog (ou seja, índice do blog) ou uma página estática.
  • é único() – Verifica se algum tipo de postagem única está sendo exibida (excluindo anexos).
  • is_attachment () – Verifica se um anexo é exibido.
  • is_page () – Verifica se uma página está sendo exibida.
  • is_singular () – Verifica se uma única postagem, anexo ou página está sendo exibida. True é retornado 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 um arquivo de tags está sendo exibido.
  • is_author () – Verifica se uma página de arquivo do autor está sendo exibida.
  • is_archive () – Verifica se algum tipo de página de arquivo está sendo exibido, incluindo arquivos de categoria, tag, data e autor.
  • is_sticky () – Verifica se uma postagem foi definida como pegajoso.
  • is_multi_author () – Verifica se mais de um autor publicou postagens no site. True será retornado se duas ou mais pessoas tiverem publicado postagens. Se apenas um autor tiver publicado postagens, ou se nenhuma postagem tiver sido publicada, false será retornado.

Existem seis tags condicionais baseadas no tempo que você também achará útil. Essas tags se referem às páginas do arquivo de datas. Por exemplo, o URL http://www.yourwebsite.com/2013/12/ é uma página de arquivo com base no mês.

Se qualquer uma das seguintes tags condicionais retornar true, is_archive () também será true.

  • is_date () – Verifica se é uma página de arquivo baseada em data.
  • is_year () – Verifica se é uma página de arquivo com base no ano.
  • is_month () – Verifica se é uma página de arquivo com base no mês.
  • is_day () – Verifica se é uma página de arquivo com base no dia.
  • é hora() – Verifica se é uma página de arquivo baseada no tempo.
  • is_new_day () – Verifica se hoje é um novo dia. Se a postagem atual fosse publicada em um dia diferente da postagem anterior, ela retornaria verdadeira. Falso será retornado se as duas postagens foram publicadas no mesmo dia.

Você encontrará tags condicionais, como is_home () e is_single (), com frequência, mas não precisa se lembrar de todas essas tags condicionais. A maioria dos usuários do WordPress se refere ao códice do WordPress para obter a marca condicional apropriada quando precisa configurar uma função condicional.

Exemplos de tags condicionais

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

Vamos considerar um site comum que tenha uma página sobre e você queira personalizar a página sobre de maneira diferente de todas as outras páginas. Por exemplo, você pode exibir uma fotografia da sua empresa na parte superior da barra lateral ou 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 declaraçã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 (‘Quem Somos’)) {

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

if (is_page (‘about-our-company’)) {

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

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

É comum os desenvolvedores definirem 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 à área do blog, mas não a outras áreas do site (por exemplo, página inicial, página de contato, sobre a página etc.).

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

<?php

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

eco "Bem-vindo ao nosso blog!!";

}

?>

Outro operador lógico que é muito útil é o operador AND &&. Isso é usado quando você deseja que duas ou mais condições sejam verdadeiras antes que algo seja acionado. A instrução if a seguir verifica se uma página é uma página de arquivamento e categorizada na 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 (‘Notícias’)) {

eco "Bem-vindo aos arquivos de notícias";

}

?>

Os operadores AND e OR podem ser combinados. O exemplo abaixo é retirado do modelo 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 slogan na sua área de configurações gerais. Se você preencher esse campo, no índice do 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). Caso contrário, a barra de título exibirá “Título do site”.

Como você pode ver, is_home e _is_front_page são visualizados como uma única entidade devido ao operador OR. É por isso que eles estão dentro de colchetes.

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ê deseja exibir uma fotografia em todas as suas páginas, exceto em seus arquivos. Não há necessidade de configurar uma declaração condicional longa que pergunte: “Esta é a página inicial, esta é uma postagem única, é uma página …”. É mais prático simplesmente perguntar: “Isso não é uma página de arquivo?”.

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

<?php

if (! is_archive ()) { ?>

<?php

}

?>

Até agora, vimos exemplos básicos de tags condicionais sendo usadas em que 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 tomada 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..

Em vez de escrever muitas instruções individuais para isso, é prático usar outras instruções 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 site. Como você faria isso? A resposta é simples: usamos declarações else e elseif. O código abaixo mostra como isso pode ser alcançado.

<?php

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

<?php

} elseif (is_category ()) { ?>

<?php

} elseif (is_single ()) { ?>

<?php

} elseif (is_page ()) { ?>

<?php

}

outro { ?>

<?php

}

?>

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

Outras declarações também são usadas em outras partes do WordPress. A maioria dos modelos de functions.php os usa e muitos temas do WordPress os usam para alterar a maneira como o título do site é exibido nos navegadores.

Mais Tags Condicionais

Há várias tags condicionais adicionais disponíveis. Muitos deles são usados ​​pelos desenvolvedores em temas e plugins.

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

  • is_tax () – Verifica se uma página de arquivo de taxonomia customizada é exibida.
  • has_term () – Verifica se a postagem atual possui um dos termos especificados.
  • taxonomy_exists () – Verifica se o nome da taxonomia existe.
  • post_type_exists () – Verifica se existe um tipo de postagem.
  • is_post_type_hierarchical ($ post_type) – Verifica se o tipo de postagem é hierárquico.
  • is_post_type_archive () – Verifica se a página de arquivo de um tipo de postagem específico está sendo exibida.
  • is_comments_popup () – Verifica se a janela pop-up de comentários está aberta.
  • comments_open () – Verifica se comentários são permitidos para a postagem ou página atual.
  • pings_open () – Verifica se pings são permitidos para a postagem 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 atualmente é uma página paginada que não seja a página um. As postagens e as páginas são paginadas quando você usa a tag rápida da próxima página no seu conteúdo para dividir as postagens grandes.
  • is_trackback () – Verifica se um trackback está sendo usado.
  • is_admin () – Verifica se o usuário está logado na área de administrador. 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 que está sendo visualizada está usando um modelo de página. Um modelo de página específico pode ser definido, se necessário.
  • is_preview () – Verifica se uma postagem do blog está sendo visualizada no modo de rascunho.
  • has_excerpt () – Verifica se a postagem atual possui um trecho. Postagens específicas podem ser definidas.
  • has_nav_menu () – Verifica se um local de menu possui um menu atribuído. Isso é usado pelos desenvolvedores do tema para mostrar algo no caso em que o usuário não adicionou 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 da rede.
  • is_super_admin () – Verifica se um usuário é um superadministrador na rede.
  • is_plugin_active ($ plugin) – Verifica se um plug-in está ativado.
  • is_child_theme () – Verifica se um tema filho está sendo usado.
  • current_theme_supports (recurso $) – Verifica se um tema suporta um recurso específico, como formatos de postagem ou imagens em destaque.

Verifique também: Como remover taxonomias padrão.

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

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

Se você gostou deste artigo, participe do ThemeLab em Twitter.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me