I think what you might need is simply to run register_sidebar()
in an widgets_init
hook. The TwentyTen theme has examples for register_sidebar()
in its functions.php
file, but here's what it might look like (I didn't test this code so you might have to play with it a bit to get it working):
add_action( 'widgets_init', 'yoursite_init' );
function yoursite_init() {
register_sidebar( array(
'name' => __( 'News Sidebar', 'yoursite' ),
'id' => 'sidebar-news',
'description' => __( 'The News Sidebar Area', 'yoursite' ),
'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
));
}