Index: wp-includes/default-widgets.php =================================================================== --- wp-includes/default-widgets.php (revision 19536) +++ wp-includes/default-widgets.php (working copy) @@ -374,13 +374,20 @@ } function widget( $args, $instance ) { - extract($args); + if ( false !== $priority = has_filter( 'widget_text', 'do_shortcode' ) ) + remove_filter( 'widget_text', 'do_shortcode', $priority ); + extract( $args ); $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base ); - $text = apply_filters( 'widget_text', empty( $instance['text'] ) ? '' : $instance['text'], $instance ); + $text = apply_filters( 'widget_text', empty( $instance['text'] ) ? '' : $instance['text'], $instance, $this->id_base ); echo $before_widget; - if ( !empty( $title ) ) { echo $before_title . $title . $after_title; } ?> -
- '; + if ( ! empty( $instance['filter'] ) ) + $text = shortcode_unautop( wpautop( $text ) ); + echo do_shortcode( $text ); + echo ''; echo $after_widget; }