Como instalar suporte a Widgets no seu tema do Wordpress.

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

  1. Posted February 27, 2007 at 9:47 pm | Permalink

    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!

  2. evandrolinux
    Posted February 28, 2007 at 3:53 am | Permalink

    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!

  3. Posted July 5, 2007 at 6:35 am | Permalink

    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!

  4. Posted July 20, 2007 at 10:27 pm | Permalink

    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!

  5. ciro
    Posted October 5, 2007 at 6:59 am | Permalink

    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

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*