WP_Widget_Text::update( array $new_instance, array $old_instance )
Handles updating settings for the current Text widget instance.
Parameters
- $new_instance
-
(Required) New settings for this instance as input by the user via WP_Widget::form().
- $old_instance
-
(Required) Old settings for this instance.
Return
(array) Settings to save or bool false to cancel saving.
Source
File: wp-includes/widgets/class-wp-widget-text.php
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;
}
Changelog
Version | Description |
---|---|
WP-2.8.0 | Introduced. |