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.
-
Gerenciar widgets no WordPress
-
Gerenciar posicionamento widgets WordPress
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.
Gerenciar quando widgets aparece WordPress
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:
Widgets por paginas no WordPress
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.
Widgets somente na página inicial do WordPress
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
Widgets somente na home do WordPress
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
Widgets por categorias no WordPress
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.
Definindo em quais área exibir o Widgets no WordPress
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.
Valeu Fábio, esse plugin é interessante e muito funcional mesmo, abraços e sucesso o/