Registrando Widgets no WordPress
Postado em 22 de julho de 2010 por Henderson | Categorias: Widgets | Tags: register_sidebar, Sidebar, Widgets | Sem comentários » | Comentar
<?php
if ( function_exists(‘register_sidebar’)) {
register_sidebar(array(
‘name’ => ‘Default sidebar’,
‘before_widget’ => ‘<div id=”%1$s”>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h1>’,
‘after_title’ => ‘</h1>’
));
register_sidebar(array(
‘name’ => ‘Footer sidebar’,
‘before_widget’ => ‘<div id=”%1$s”>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h1>’,
‘after_title’ => ‘</h1>’
));
}
?>
Este código acima foi colocado no arquivo functions.php, vamos explicar o que ele faz exatamente.
Na primeira linha, perguntamos se existe a função register_sidebar no seu wordpress, caso exista ele vai registrar 2 sidebar diferentes. O primeiro com o nome de “Default sidebar” e ainda passamos mais parametros são eles:
* before_widget – usado para colocar algo antes de começar o widget, no meu caso coloquei uma div com id e class para melhor aproveitar para o css.
* after_widget – usado para colocar algo depois de terminar o widget, no meu caso fechei a div que tinha começado no parâmetro acima.
* before_title – algo antes do titulo do widget, eu coloquei um h1
* after_title – algo a ser colocado depois do titulo, eu finalizei o meu /h1
O Segundo é exatamente a mesma coisa só que somente registrando um segundo widget com nome diferente. Fácil, já esta registrado os nossos widgets, agora precisamos exibi-los.
Exibindo o Widget
<?php if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar(‘Default sidebar’) ) : ?>
<?php endif; ?>
Procure pelos o arquivos functions.php ou theme-widgets.php no diretório do tema.
// Registrando Widgets
if ( function_exists(‘register_sidebar’) )
{
register_sidebar
( array
(
‘name’ => ‘widget_1’,
‘before_widget’ => ‘<div>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h6>’,
‘after_title’ => ‘</h6>’,
)
);
register_sidebar
( array
(
‘name’ => ‘widget_2’,
‘before_widget’ => ‘<div>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h6>’,
‘after_title’ => ‘</h6>’,
)
);
register_sidebar
( array
(
‘name’ => ‘widget_3’,
‘before_widget’ => ‘<div>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h6>’,
‘after_title’ => ‘</h6>’,
)
);}
Para incluir os Widgets em um sidebar, use:
<?php if (function_exists(‘dynamic_sidebar’) && dynamic_sidebar(‘widget3’) ) ?>
Outra forma de registrar um WidgetOu utilize:
<?php if ( function_exists(‘register_sidebars’) )
register_sidebars( 2, array( ‘name’ => ‘Sidebar %d’ ) ); ?>