/** * @inheritDoc */ public function update($new_instance, $old_instance) { $instance = $old_instance; if ($this->is_preview()) { //Oh! Sorry but still not fully compatible with customizer return $instance; } $defaults = array('title' => '', 'view_id' => 0, 'post_id' => '', 'search_fields' => ''); $new_instance = wp_parse_args((array) $new_instance, $defaults); $instance['title'] = strip_tags($new_instance['title']); $instance['view_id'] = absint($new_instance['view_id']); $instance['search_fields'] = $new_instance['search_fields']; $instance['post_id'] = $new_instance['post_id']; $is_valid_embed_id = GravityView_View_Data::is_valid_embed_id($new_instance['post_id'], $instance['view_id']); //check if post_id is a valid post with embedded View $instance['error_post_id'] = is_wp_error($is_valid_embed_id) ? $is_valid_embed_id->get_error_message() : NULL; // Share that the widget isn't brand new $instance['updated'] = 1; return $instance; }
/** * @since 1.6 * @see WP_Widget::update() * * @param array $new_instance Widget form settings after update * @param array $old_instance Widget form settings before update * * @return array Calculated widget settings after processing */ public function update($new_instance, $old_instance) { $instance = $new_instance; // Force positive number $instance['limit'] = empty($instance['limit']) ? 10 : absint($instance['limit']); $instance['view_id'] = intval($instance['view_id']); $instance['link_format'] = trim(rtrim($instance['link_format'])); $instance['link_format'] = empty($instance['link_format']) ? $old_instance['link_format'] : $instance['link_format']; $instance['post_id'] = empty($instance['post_id']) ? '' : intval($instance['post_id']); $is_valid_embed_id = GravityView_View_Data::is_valid_embed_id($instance['post_id'], $instance['view_id']); //check if post_id is a valid post with embedded View $instance['error_post_id'] = is_wp_error($is_valid_embed_id) ? $is_valid_embed_id->get_error_message() : NULL; // Share that the widget isn't brand new $instance['updated'] = 1; /** * Modify the updated instance. This will allow for validating any added instance settings externally. * * @param array $instance Calculated widget settings after processing * @param array $new_instance Widget form settings after update * @param array $old_instance Widget form settings before update */ $instance = apply_filters('gravityview/widget/update', $instance, $new_instance, $old_instance); return $instance; }