WP_Widget_Text::update()publicWP 2.8.0

Handles updating settings for the current Text widget instance.

Method of the class: WP_Widget_Text{}

No Hooks.

Return

Array. Settings to save or bool false to cancel saving.

Usage

$WP_Widget_Text = new WP_Widget_Text();
$WP_Widget_Text->update( $new_instance, $old_instance );
$new_instance(array) (required)
New settings for this instance as input by the user via WP_Widget::form().
$old_instance(array) (required)
Old settings for this instance.

Changelog

Since 2.8.0 Introduced.

WP_Widget_Text::update() code WP 6.6.2

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;
}