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));
}