WordPress.org

Make WordPress Core

Ticket #19411: 19411.diff

File 19411.diff, 1.9 KB (added by nacin, 2 years ago)
  • wp-includes/default-filters.php

     
    194194add_filter( 'pings_open',               '_close_comments_for_old_post', 10, 2 ); 
    195195add_filter( 'editable_slug',            'urldecode'                           ); 
    196196add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object'        ); 
     197add_filter( 'widget_text',              'wpautop'                             ); // dependent on the widget setting 
    197198add_filter( 'widget_text',              'shortcode_unautop'                   ); 
    198199add_filter( 'widget_text',              'do_shortcode'                        ); 
    199200 
  • wp-includes/default-widgets.php

     
    374374        } 
    375375 
    376376        function widget( $args, $instance ) { 
    377                 extract($args); 
     377                extract( $args ); 
    378378                $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base ); 
     379                if ( empty( $instance['filter'] ) ) { 
     380                        remove_filter( 'widget_text', 'wpautop' ); 
     381                        remove_filter( 'widget_text', 'shortcode_unautop' ); 
     382                } 
    379383                $text = apply_filters( 'widget_text', empty( $instance['text'] ) ? '' : $instance['text'], $instance ); 
     384                if ( empty( $instance['filter'] ) ) { 
     385                        add_filter( 'widget_text', 'wpautop' ); 
     386                        add_filter( 'widget_text', 'shortcode_unautop' ); 
     387                } 
    380388                echo $before_widget; 
    381                 if ( !empty( $title ) ) { echo $before_title . $title . $after_title; } ?> 
    382                         <div class="textwidget"><?php echo !empty( $instance['filter'] ) ? wpautop( $text ) : $text; ?></div> 
     389                if ( ! empty( $title ) ) { echo $before_title . $title . $after_title; } ?> 
     390                        <div class="textwidget"><?php echo $text; ?></div> 
    383391                <?php 
    384392                echo $after_widget; 
    385393        }