Adicionar Widget no register_sidebar
-
Boa tarde pessoal, tudo bem?
Estou com um problema e não sei como resolver.
Tenho o seguinte código no functions.php:if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'sidebar', 'before_widget' => '<div class="rightBox"> <div class="rightBoxTop"></div> <div class="rightBoxMid">', 'after_widget' => '</div> <div class="rightBoxBottom"></div> </div>', 'before_title' => '<h2>', 'after_title' => '</h2>', ));
Reparem que a todos os Módulos cadastrados, ele adiciona algumas DIVs. Porém quero que ele tenha uma excessão. Em um módulo específico, gostaria que ele adicionasse outro nome de classe ao invés de rightBoxTop.
Alguem tem idéia de como faço isso?
-
Eu não crio barras laterais com as classes por causa disso, fica tudo igual. O jeito é criar sem a formatação e usar no estilo o nome da classe do widget.
E você tem como me orientar?
Como faço de outra maneira?Use o mesmo código acima, mas sem definir o que vem antes e depois. No exemplo, são duas barras uma geral e outra para páginas:
register_sidebar(
array(
‘id’ => ‘primary’,
‘name’ => __( ‘Home’ ),
‘description’ => __( ‘Barra Lateral – Home’ )
)
);register_sidebar(
array(
‘id’ => ‘paginas’,
‘name’ => __( ‘Barra Lateral – Páginas’ ),
‘description’ => __( ‘Páginas:’ )
)
);Então no
style.css
do seu tema, você formata todos os widgets com.widget
(pode usar contextos como#sidebar .widget
etc).Para formatar os diferentes tipos de widgets, você tem que observar o código para saber qual classe usar. Os plugins já geram estas classes, mas você tem que procurar no código, quando a documentação não dizer.
uma outra opção é usar o código
id="%1$s" class="%2$s rightBox"
nas div que vc deseja ter classes especiais para widgets no parêmatro before_widget.A class rightBox ainda permanece, mas terá outras class dependendo de qual widget for adicionado e vc pode personalizar o widget com essas classes extras sobrescrevendo declarações para a class rightBox.
Exemplo de sidebar com o código mencionado
register_sidebar(array( 'name'=>'Menu Lateral', 'description' => '::: Atenção! ::: Todos os Widgets precisam ter um título para que o accordion funcione corretamente.', 'id' => 'menu-lateral-accordion', 'before_widget' => '<div id="%1$s" class="%2$s box-sidebar imagem-spliter">', 'after_widget' => '</div></div>', 'before_title' => '<h2 class="imagem-spliter">', 'after_title' => '</h2><div class="box">', ));
Perfeito Myst1010.
Peguei no Código a classe que ele cria e criei a classe na CSS.
Muito obrigado a vcs 2.
- O tópico ‘Adicionar Widget no register_sidebar’ está fechado para novas respostas.