• Resolvido lucas.formariz

    (@lucasformariz)


    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?

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • 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.

    Criador do tópico lucas.formariz

    (@lucasformariz)

    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&ccedil;&atilde;o! ::: Todos os Widgets precisam ter um t&iacute;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">',
    	));
    Criador do tópico lucas.formariz

    (@lucasformariz)

    Perfeito Myst1010.

    Peguei no Código a classe que ele cria e criei a classe na CSS.

    Muito obrigado a vcs 2.

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • O tópico ‘Adicionar Widget no register_sidebar’ está fechado para novas respostas.