Widget Logic: defina em quais páginas seus widgets irão aparecer

O sistema de widgets do WordPress é uma grande sacada. Através de um simples arrastar e soltar novas funcionalidades super complexas podem ser inseridas aos websites.

Acontece que por padrão todo widget inserido numa área de widgets (anteriormente chamadas de sidebars) aparece em todas as página que tenham aquela área. Por exemplo: Se você está desenvolvendo um site para a empresa do seu cliente e esse site vai ter um blog integrado, qualquer widget que você coloque na área primária do Blog aparecerá por padrão em todas as páginas do site.

Widget Logic - Exemplo

Repare na "elegância" da solução

É aí que o Widget Logic entra em cena! Esse discreto plugin permite que você defina com regras complexas em quais páginas quer que seu widget apareça.

Na verdade, existem diversos plugins com essa finalidade, mas o Widget Logic impressiona pela simplicidade e elegância. Após a instalação do plugin um novo campo surge nos widgets. Nesse campo você pode usar as Tags Condicionais que o próprio WordPress fornece para definir em quais página seu widget vai aparecer.

Exemplos práticos

Após a instalação do plugin o WP testa essa lógica condicional antes de exibir os widgets, caso a resposta seja positiva ele exibe o widget. Com o tempo e alguma prática é possível se fazer quase milagres utilizando essas tags. Vamos a alguns exemplos úteis de tags:

is_page('2354')

Nesse caso o widget será exibido apenas na página que tenha o id 2354. Também é possível utilizar o slug da página.

is_front_page()

Use esse código caso queira que seu widget apareça apenas ná página que você definiu como página inicial em Configurações > Leitura

is_home()

Esse código exibirá o widget apenas na página que que você definiu como Página de Posts em Configurações > Leitura

in_category( array( 1,2,3 ) )

No caso acima o widget será exibido apenas em posts que estejam nas categorias 1, 2 e 3

!in_category( array( 1,2,3 ) )

Esse pequeno código faz o contrário do anterior, exibindo o widgets em todas as páginas, exceto em posts das categorias 1, 2 e 3.

is_archive() || is_page('2242') || is_front_page()

O || do exemplo acima funciona como um OU. Nesse caso, o widget seria exibido nas páginas de arquivo (categorias, busca, tags etc), na página 2242 e na página inicial.

Conclusão

O Widget Logic é um plugin indispensável para quem pretende utilizar o WordPress como um CMS completo ou mesmo como um sistema de Blog. Ele resolve um problema complexo de forma simples e deveria ser a primeira opção para desenvolvedores que querem maior controle sobre a exibição de widgets.

Widget Logic: defina em quais páginas seus widgets irão aparecer - Postado originalmente no Universo WP - Desvendando o WordPress