Como criar minha própria barra lateral no tema infantil Twenty Eleven?

Quando eu vou configurar widgets no tema Twenty Eleven, existem 5 “sidebars” disponíveis:

  • Barra lateral principal
  • Barra lateral de exibição
  • 1ª coluna do rodapé
  • 2º col do rodapé
  • 3º col do rodapé

Em um tema infantil, eu gostaria de suportar a barra lateral em postagens que é bastante fácil usando estas instruções, mas ao mesmo tempo, a barra lateral principal na página inicial deve ser diferente da barra lateral nas páginas únicas.

Posso criar uma nova “área da barra lateral” para que os widgets possam ser arrastados e descartados na seção de administração? Ou eu deveria usar algo como a 3ª coluna de uma área de rodapé (que eu não uso no meu blog) para suportar isso? Será que eu substitui get_sidebar() por algo diferente no arquivo single.php modificado?

Solutions Collecting From Web of "Como criar minha própria barra lateral no tema infantil Twenty Eleven?"

Eu acho que entendo o que procura. Eu coloquei um código que tirei de partes de meus temas para dar um exemplo.

Para as funções.php:

 < ?php add_action( 'after_setup_theme', 'ideatree_init' ); if ( ! function_exists( 'ideatree_init' ) ): function ideatree_init() { // REGISTER THE NAV MENUS (3 in this case) add_action( 'init', 'register_my_menus' ); function register_my_menus() { register_nav_menus( array( 'main' => 'main' , 'secondary' => 'secondary', 'tertiary' => 'tertiary' ) ); } // REGISTER THE SIDBARS if ( !function_exists('ideatree_widgets_init') ) { function ideatree_widgets_init() { register_sidebar( array( 'name' => __( 'main-widget', 'ideatree'), 'id' => 'main-widget', 'description' => 'The Main widget', 'ideatree' , 'before_widget' => '
  • ', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => 'showcase-widget', 'ideatree', 'id' => 'showcase-widget', 'description' => 'The showcase-widget', 'ideatree' , 'before_widget' => '
  • ', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => 'First Footer Widget', 'ideatree', 'id' => 'first-footer-widget', 'description' => 'The first footer widget', 'ideatree' , 'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '

    ', 'after_title' => '

    ', ) ); register_sidebar( array( 'name' => 'Second Footer Widget', 'ideatree', 'id' => 'second-footer-widget', 'description' => 'The second footer widget', 'ideatree', 'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '', 'after_title' => '', ) ); register_sidebar( array( 'name' => 'Third Footer Widget', 'ideatree', 'id' => 'third-footer-widget', 'description' => 'The third footer widget', 'ideatree', 'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '

    ', 'after_title' => '

    ', ) ); } add_action( 'widgets_init', 'ideatree_widgets_init' ); } //===============\\ VARIOUS WP THEME SUPPORTS //=================== if ( ! isset( $content_width ) ) $content_width = 600; add_theme_support( 'post-thumbnails' ); add_image_size( 'bigmutha',580, 180, true ); //Can be used for Portfolio etc... add_theme_support('automatic-feed-links'); } endif; ?>

    Para o sidebar.php:

      

    O arquivo footer.php:

      < ?php wp_footer(); ?>   

    Você deve experimentar isso em um servidor de teste primeiro. Como mencionei, isso é arrancado de dois temas diferentes e não foi testado em conjunto. Isso deve funcionar para você. Deixe-me saber se você tem alguma dúvida.