ACF_To_REST_API_Controller::update_item PHP Method

update_item() public method

public update_item ( $request )
        public function update_item($request)
        {
            $item = $this->prepare_item_for_database($request);
            if (is_array($item) && count($item) > 0) {
                foreach ($item['data'] as $key => $value) {
                    if (isset($item['fields'][$key]['key'])) {
                        $field = $item['fields'][$key];
                        if (function_exists('acf_update_value')) {
                            acf_update_value($value, $item['id'], $field);
                        } elseif (function_exists('update_field')) {
                            update_field($field['key'], $value, $item['id']);
                        } else {
                            do_action('acf/update_value', $value, $item['id'], $field);
                        }
                    }
                }
                return new WP_REST_Response($this->get_fields($request), 200);
            }
            return new WP_Error('cant_update_item', __('Cannot update item', 'acf-to-rest-api'), array('status' => 500));
        }