wp-includes/widgets/class-wp-widget-text.php:371Handles updating settings for the current Text widget instance.
$new_instancearray$old_instancearrayarray public function update( $new_instance, $old_instance ) { $new_instance = wp_parse_args( $new_instance, array( 'title' => '', 'text' => '', 'filter' => false, // For back-compat. 'visual' => null, // Must be explicitly defined. ) ); $instance = $old_instance; $instance['title'] = sanitize_text_field( $new_instance['title'] ); if ( current_user_can( 'unfiltered_html' ) ) { $instance['text'] = $new_instance['text']; } else { $instance['text'] = wp_kses_post( $new_instance['text'] ); } $instance['filter'] = ! empty( $new_instance['filter'] ); // Upgrade 4.8.0 format. if ( isset( $old_instance['filter'] ) && 'content' === $old_instance['filter'] ) { $instance['visual'] = true; } if ( 'content' === $new_instance['filter'] ) { $instance['visual'] = true; } if ( isset( $new_instance['visual'] ) ) { $instance['visual'] = ! empty( $new_instance['visual'] ); } // Filter is always true in visual mode. if ( ! empty( $instance['visual'] ) ) { $instance['filter'] = true; } return $instance; }Introduced in 2.8.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
src/wp-includes/widgets/class-wp-widget-text.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.