validate_and_possibly_update_settings() публичный Метод

Given id and possibly instance, validates the settings and, if they validate, saves them to options
public validate_and_possibly_update_settings ( $settings, $id, $instance = false ) : boolean | WP_Error
Результат boolean | WP_Error
 /**
  * Attempts to update the settings on a particular service and instance
  */
 public function update_item($request)
 {
     $request_params = $request->get_params();
     $id = array_key_exists('id', $request_params) ? $request_params['id'] : '';
     $instance = array_key_exists('instance', $request_params) ? absint($request_params['instance']) : false;
     if (empty($id)) {
         $error = new WP_Error('service_id_missing', __('Unable to update service settings. Form data is missing service ID.', 'connectforwoocommerce'), array('status' => 400));
         $this->logger->log($error, __CLASS__);
         return $error;
     }
     $request_body = $request->get_body();
     $settings = json_decode($request_body, false, WOOCOMMERCE_CONNECT_MAX_JSON_DECODE_DEPTH);
     if (empty($settings)) {
         $error = new WP_Error('bad_form_data', __('Unable to update service settings. The form data could not be read.', 'connectforwoocommerce'), array('status' => 400));
         $this->logger->log($error, __CLASS__);
         return $error;
     }
     $validation_result = $this->service_settings_store->validate_and_possibly_update_settings($settings, $id, $instance);
     if (is_wp_error($validation_result)) {
         $error = new WP_Error('validation_failed', sprintf(__('Unable to update service settings. Validation failed. %s', 'connectforwoocommerce'), $validation_result->get_error_message()), array_merge(array('status' => 400), $validation_result->get_error_data()));
         $this->logger->log($error, __CLASS__);
         return $error;
     }
     return new WP_REST_Response(array('success' => true), 200);
 }