Ontem eu me deparei com um problema na comunidade do Wordpress lá no Orkut. Um usuário da comunidade queria instalar o suporte a widgets no seu blog. Até ai nenhum problema.
Só que quando a instalação terminava, não aparecia o painel de controle dos Widgets no centro de controle do Wordpress.
Depois de alguns testes achei o problema. O resultado disso é um rápido tutorial de como instalar suporte a widgets no Wordpress.
Os widgets são pequenos programas, que executam uma função específica. No wordpress eles ficam localizados no menu do blog.
A grande vantagem de se usar widgets é que não é necessário voce saber PHP ou HTML para reordenar os widgets, acrescentar ou remover. É só colocar o widget direto na pasta:
wp-content/plugins/widgets
Ativar no painel de controle do wordpress e brincar com eles em:
Presentations->Sidebar Widgets
Primeiro, faça o download do plugin para rodar os widgets em http://automattic.com/code/widgets.
Descompacte o arquivo em sua máquina, ao fazer isso você terá:
- Uma pasta chamada classic
- Uma pasta chamada default
- Um arquivo de nome delicious.php
- Um arquivo de nome gsearch.php
- Um arquivo de nome widgets.php
- Um arquivo de nome rss.png
- E por fim um arquivo de nome README.txt
Feito isso, crie uma pasta chamada widgets dentro da pasta de plugins no seu server:
.../wp-content/plugins/widgets
Depois coloque todos os arquivos exceto o README.txt dentro dessa pasta.
Esqueça as pastas classic e default por enquanto.
Ative o plugin Sidebar Widgets no painel de controle do Wordpress. Após você fazer isso você vai notar que não aconteceu absolutamente nada!
Não se preocupe. O que falta é justamente o pulo do gato para a instalação dessa feature. Aquelas pastas classic e default são modificaçoes prontas para os temas Classic e Default do Wordpress.
Existem mais temas prontos que já possuem suporte. Mas nossa intenção aqui é dar suporte para um tema que nós desenvolvemos ou modificamos e faremos isso agora:
Primeiramente, vamos olhar o código de nosso menu lateral, vou mostrar um que eu criei aqui:
<!-- begin sidebar -->
<div id="menu2">
<?php /*php wp_list_pages();*/ ?>
<?php /*get_links_list(); */ ?>
<li id="search" class="titulos">
<label for="s"><strong><?php _e('Search:'); ?></strong></label>
<form id="searchform" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>”>
<div>
<input type=”text” name=”s” id=”s” size=”15″ /><br />
<input type=”submit” value=”<?php _e(’Search’); ?>” />
</div>
</form>
</li>
<li id=”categories” class=”titulos”><strong><?php _e(’Categories:’); ?></strong>
<ul>
<?php wp_list_cats(); ?>
</ul>
</li>
<li id=”archives” class=”titulos”><strong><?php _e(’Archives:’); ?></strong>
<ul>
<?php wp_get_archives(’type=monthly’); ?>
</ul>
</li>
<li id=”meta” class=”titulos”><strong><?php _e(’Meta:’); ?></strong>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<li><a href=”<?php bloginfo(’rss2_url’); ?>” title=”<?php _e(’Syndicate this site using RSS’); ?>”><?php _e(’<abbr title=”Really Simple Syndication”>RSS</abbr>’); ?></a></li>
<li><a href=”<?php bloginfo(’comments_rss2_url’); ?>” title=”<?php _e(’The latest comments to all posts in RSS’); ?>”><?php _e(’Comments <abbr title=”Really Simple Syndication”>RSS</abbr>’); ?></a></li>
<li><br /><?php echo getad(’menu’); ?><!–propagandas–></li>
</ul>
</li>
</ul>
</div>
<!– end sidebar –>
Até aqui, nada de mais: so acrescentamos algumas linhas:
<?php if ( !function_exists('dynamic_sidebar')
|| !dynamic_sidebar() ) : ?>
Essa linha substitui o menu original pelo menu dinâmico se ele for ativado.
<?php endif; ?>
Essa aqui para com o loop encerra a função.
Coloque essas linhas exatamente nesses pontos:
<!-- begin sidebar -->
<div id="menu2">
<?php if ( !function_exists('dynamic_sidebar')
|| !dynamic_sidebar() ) : ?> <!--aqui–>
<ul>
<?php /*php wp_list_pages();*/ ?>
<?php /*get_links_list(); */ ?>
<li id=”search” class=”titulos”>
<label for=”s”><strong><?php _e(’Search:’); ?></strong></label>
<form id=”searchform” method=”get” action=”<?php echo $_SERVER['PHP_SELF']; ?>”>
<div>
<input type=”text” name=”s” id=”s” size=”15″ /><br />
<input type=”submit” value=”<?php _e(’Search’); ?>” />
</div>
</form>
</li>
<li id=”categories” class=”titulos”><strong><?php _e(’Categories:’); ?></strong>
<ul>
<?php wp_list_cats(); ?>
</ul>
</li>
<li id=”archives” class=”titulos”><strong><?php _e(’Archives:’); ?></strong>
<ul>
<?php wp_get_archives(’type=monthly’); ?>
</ul>
</li>
<li id=”meta” class=”titulos”><strong><?php _e(’Meta:’); ?></strong>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<li><a href=”<?php bloginfo(’rss2_url’); ?>” title=”<?php _e(’Syndicate this site using RSS’); ?>”><?php _e(’<abbr title=”Really Simple Syndication”>RSS</abbr>’); ?></a></li>
<li><a href=”<?php bloginfo(’comments_rss2_url’); ?>” title=”<?php _e(’The latest comments to all posts in RSS’); ?>”><?php _e(’Comments <abbr title=”Really Simple Syndication”>RSS</abbr>’); ?></a></li>
<li><br /><?php echo getad(’menu’); ?><!–propagandas–></li>
</ul>
</li>
<?php endif; ?> <!–aqui–>
</ul>
</div>
<!– end sidebar –>
Após isso, criamos um arquivo chamado functions.php, nele colocamos estas linhas:
<?php
if ( function_exists('register_sidebar') )
register_sidebar();
?>
Cuidado para não colocar nenhuma linha em branco no início ou no final do arquivo!
Agora coloque esse arquivo na pasta do onde está o seu tema. E pronto. O suporte a widget já esta instalado e pronto para ser usado.
Para instalar mais widgets é só fazer o download e jogá-los na pasta widgets que voce criou e ativa-lo no painel do Wordpress.
Para instalar os widgets no seu menu, é só ir em Sidebar Widgets escolher um widget da lista abaixo clicar e arrastar para a area chamada Sidebar 1. Para organizar a ordem do menu também é o mesmo esquema, clique e arraste ![]()
Para configurar as opções de um widget, clique no botão do lado direito do nome do widget.
Agora é só se divertir com o seu novo menu dinâmico :D. Qualquer dúvida deixe um comentário.
5 Comments
Muito bom tutorial. Só lembrando que alguns temas já tem toda essa instalação dos widgets, sendo assim menos trabalho pra quem quer pronto, bastando ativar a extensão.
Mas pra quem quer colocar widgets num tema próprio, por exemplo, o negócio é seguir a risca esse tutorial, que ficou show!
Abraços!
A intenção do tutorial era esta mesma. Apesar de existirem muitos temas com suporte a widgets, existem muitas pessoas que preferem modificar ou criar do zero um tema.
Valeu Maikel!
cara não consegui instalar os widgets… apareceu a mensagem:
Plugin could not be activated because it triggered a fatal error.
pode me ajudar? SOS quarto estudio!
Então, segui direitinho as instruções, mas não consegui instlar os widgets…apareceu a seguinte mensagem:
No Sidebars Defined
You are seeing this message because the theme you are currently using isn’t widget-aware, meaning that it has no sidebars that you are able to change. For information on making your theme widget-aware, please follow these instructions.
E lá me manda fazer a mesma coisa q eu já fiz…Não estou entendendo o porque disso…Será que rola um help???
Obrigada!
no meu apareceu um erro…
Fatal error: Cannot redeclare register_sidebars() (previously declared in C:\webserver\Root\wp-includes\widgets.php:15) in C:\webserver\Root\wp-content\plugins\widgets\widgets.php on line 42
tentei tando o 1.0 qnt o 2.0