I've registered a wordpress sidebar like so:

register_sidebar( array(
    'name' => __( 'First Sidebar', 'theme_name' ),
    'id' => 'primary-widget-area',
    'description' => __( 'The primary widget area', 'theme_name' ),
    'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
    'after_widget' => '</li>',
    'before_title' => '<h3 class="widget-title">',
    'after_title' => '</h3>',
) );

However , once the title is empty, the h3Is still get made. It is possible to method to remove these once the title remains blank?

Case a little accessory for Mark's answer. The default calendar widget uses &nbsp; when the title is empty, therefore it still shows a clear header. I labored round that with the addition of this to my theme's functions.php:

function foo_widget_title($title)
    return $title == '&nbsp;' ? '' : $title;
add_filter('widget_title', foo_widget_title);

Altering 'foo' to something appropriate.

Edit web site and appearance for the presence of a title. If no title is placed don't print the h3.

Register two sidebars, identical as well as the 'before_title' and 'after_title' values. Look into the title, after which call either accordingly.

Printing the before_title and after_title is one thing that's completed in the function widget( $args, $instance ) through the widget self. All the default wordpress 3.1 icons see if the title is empty before parsing before_title and after_title, however i guess you are utilizing a custom widget from the theme or wordpress plugin, for the reason that situation you will need to adjust the widget( $args, $instance ) code.