WC_REST_Setting_Options_V2_Controller::update_item()
Update a single setting in a group.
Method of the class: WC_REST_Setting_Options_V2_Controller{}
No Hooks.
Return
WP_Error|WP_REST_Response
.
Usage
$WC_REST_Setting_Options_V2_Controller = new WC_REST_Setting_Options_V2_Controller(); $WC_REST_Setting_Options_V2_Controller->update_item( $request );
- $request(WP_REST_Request) (required)
- Request data.
Changelog
Since 3.0.0 | Introduced. |
WC_REST_Setting_Options_V2_Controller::update_item() WC REST Setting Options V2 Controller::update item code WC 7.7.0
public function update_item( $request ) { $setting = $this->get_setting( $request['group_id'], $request['id'] ); if ( is_wp_error( $setting ) ) { return $setting; } if ( is_callable( array( $this, 'validate_setting_' . $setting['type'] . '_field' ) ) ) { $value = $this->{'validate_setting_' . $setting['type'] . '_field'}( $request['value'], $setting ); } else { $value = $this->validate_setting_text_field( $request['value'], $setting ); } if ( is_wp_error( $value ) ) { return $value; } if ( is_array( $setting['option_key'] ) ) { $setting['value'] = $value; $option_key = $setting['option_key']; $prev = get_option( $option_key[0], null ) ?? array(); $prev[ $option_key[1] ] = $request['value']; update_option( $option_key[0], $prev ); } else { $update_data = array(); $update_data[ $setting['option_key'] ] = $value; $setting['value'] = $value; WC_Admin_Settings::save_fields( array( $setting ), $update_data ); } $response = $this->prepare_item_for_response( $setting, $request ); return rest_ensure_response( $response ); }