WC_REST_Setting_Options_V2_Controller::update_item()
Update a single setting in a group.
Метод класса: WC_REST_Setting_Options_V2_Controller{}
Хуков нет.
Возвращает
WP_Error|WP_REST_Response
.
Использование
$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) (обязательный)
- Request data.
Список изменений
С версии 3.0.0 | Введена. |
Код WC_REST_Setting_Options_V2_Controller::update_item() WC REST Setting Options V2 Controller::update item WC 8.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 ); }