ACF_To_REST_API_Controller::prepare_item_for_database PHP Метод

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

public prepare_item_for_database ( $request )
        public function prepare_item_for_database($request)
        {
            $item = false;
            if ($request instanceof WP_REST_Request) {
                $key = apply_filters('acf/rest_api/key', 'fields', $request, $this->type);
                if (is_string($key) && !empty($key)) {
                    $data = $request->get_param($key);
                    $field = $request->get_param('field');
                    $this->format_id($request);
                    if ($this->id && is_array($data)) {
                        $fields = $this->get_field_objects($this->id);
                        if (is_array($fields) && !empty($fields)) {
                            if ($field && isset($data[$field])) {
                                $data = array($field => $data[$field]);
                            }
                            $item = array('id' => $this->id, 'fields' => $fields, 'data' => $data);
                        }
                    }
                }
            }
            return apply_filters('acf/rest_api/' . $this->type . '/prepare_item', $item, $request);
        }

Usage Example

 public function prepare_item_for_database($request)
 {
     $item = parent::prepare_item_for_database($request);
     if ($item && $request instanceof WP_REST_Request) {
         $name = $request->get_param('name');
         if ($name && array_key_exists($name, $item['data'])) {
             $item['data'] = array($name => $item['data'][$name]);
         }
     }
     return $item;
 }