Skip to content

Instantly share code, notes, and snippets.

@profburnes
Last active April 7, 2017 14:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save profburnes/c48de3fa017550454098ac31fffc82ec to your computer and use it in GitHub Desktop.
Save profburnes/c48de3fa017550454098ac31fffc82ec to your computer and use it in GitHub Desktop.
Como criar e registrar sidebars no Worpress

Criação e Registro de Sidebars

Os sidebars servem para adicionar locais onde poder ser inseridos widgets no seu tema, como barra de buscas, postagens, menus e outros. Para fazer isso é necessário registrar no functions.php os sidebars necessários. Podemos registrar diversos sidebars e distribuí-los no tema. Abra o arquivo functions.php e mãos a obra:

//verificar se a função existe para não dar erro
if (function_exists('register_sidebar')) {
    register_sidebar(
      array(
          'name'          => esc_html__( 'Footer One'),
          'id'            => 'footer1',
          'description'   => __( 'Adicione algum Widget para Aparecer no Footer' ),
              'before_widget' => '<div class="footer">',
              'after_widget'  => '</div>',
              'before_title'  => '<h3>',
              'after_title'   => '</h3>',
          )
      );
 }

No exemplo acima utilizamos o function_exists para verificar se a função register_sidebar existe, mas seu uso não é obrigatorio.

Na criação da função é necessário passar um array contendo o nome, id, descrição e pode se passar códigos html para serem inseridos antes e depois do widget. Podem ser adicionados vários sidebars em uma mesma declaração:

//verificar se a função existe para não dar erro
if (function_exists('register_sidebar')) {
    register_sidebar(
      array(
          'name'          => esc_html__( 'Footer One'),
          'id'            => 'footer1',
          'description'   => __( 'Adicione algum Widget para Aparecer no Footer' ),
              'before_widget' => '<div class="footer">',
              'after_widget'  => '</div>',
              'before_title'  => '<h3>',
              'after_title'   => '</h3>',
        )
     );
     register_sidebar(
        array(
          'name'          => esc_html__( 'Footer Two'),
          'id'            => 'footer2',
          'description'   => __( 'Adicione algum Widget para Aparecer no Footer' ),
          'before_widget' => '<div class="footer">',
          'after_widget'  => '</div>',
          'before_title'  => '<h3>',
          'after_title'   => '</h3>',
        )
    );
    register_sidebar(
        array(
            'name'          => esc_html__( 'Right Sidebar'),
            'id'            => 'right_sidebar',
            'description'   => __( 'Adicione algum Widget para Aparecer no Sidebar' ),
            'before_widget' => '<div class="footer">',
            'after_widget'  => '</div>',
            'before_title'  => '<h3>',
            'after_title'   => '</h3>',
        )
    );  
 }

Agora basta adicionar o código no seu tema:

<footer>
<?php 
		if(is_active_sidebar('footer1')) {
			dynamic_sidebar('footer1');
		} 
?>
</footer>

No caso acima ele foi adicionado ao footer. Acessando Aparência -> Widgets as áreas sero mostradas do lado direito da tela, para que você possa arrastar os seus widgets.

<?php
//verificar se a função existe para não dar erro
if (function_exists('register_sidebar')) {
register_sidebar(
array(
'name' => esc_html__( 'Footer One'),
'id' => 'footer1',
'description' => __( 'Adicione algum Widget para Aparecer no Footer' ),
'before_widget' => '<div class="footer">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>',
)
);
register_sidebar(
array(
'name' => esc_html__( 'Footer Two'),
'id' => 'footer2',
'description' => __( 'Adicione algum Widget para Aparecer no Footer' ),
'before_widget' => '<div class="footer">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>',
)
);
register_sidebar(
array(
'name' => esc_html__( 'Right Sidebar'),
'id' => 'right_sidebar',
'description' => __( 'Adicione algum Widget para Aparecer no Sidebar' ),
'before_widget' => '<div class="footer">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>',
)
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment