| | |
| | | 'user' => get_user_meta($id), |
| | | default => [] |
| | | }; |
| | | if (!$meta) { |
| | | $meta = []; |
| | | } |
| | | $meta = array_map(fn($value) => maybe_unserialize($value[0]), $meta); |
| | | |
| | | foreach ($fields as $fieldName => $config) { |
| | |
| | | if (str_contains($name, ':')) { |
| | | return $this->getByPath($name); |
| | | } |
| | | |
| | | return $this->fields[$name]->get(); |
| | | if (!array_key_exists($name, $this->fields)) { |
| | | error_log('[Meta]::get Attempted to get unregistered field: '.$name); |
| | | } |
| | | return $this->fields[$name]->get()??''; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | break; |
| | | case 'term': |
| | | $result = wp_update_term($this->ID, $this->slug, $defaults); |
| | | $termDefaults = array_map(fn($field) => $field->value, $defaults); |
| | | $result = wp_update_term($this->ID, $this->slug, $termDefaults); |
| | | break; |
| | | case 'user': |
| | | $data = array_merge([ |
| | | 'ID' => $this->ID |
| | | ], $defaults); |
| | | $userDefaults = array_map(fn($field) => $field->value, $defaults); |
| | | $data = array_merge(['ID' => $this->ID], $userDefaults); |
| | | $result = wp_update_user($data); |
| | | break; |
| | | } |
| | |
| | | error_log('Problem saving field: '.$field->name.' with value: '.print_r($field->value, true)); |
| | | } |
| | | } |
| | | if ($this->type === 'term' && Registrar::getInstance($this->slug)->hasFeature('is_content')) { |
| | | update_term_meta($this->ID, BASE.'date_modified', date('Y-m-d H:i:s')); |
| | | } |
| | | //Now handled directly from Registrar |
| | | // if ($this->type === 'term' && Registrar::getInstance($this->slug)->hasFeature('is_content')) { |
| | | // update_term_meta($this->ID, BASE.'date_modified', date('Y-m-d H:i:s')); |
| | | // } |
| | | } |
| | | |
| | | |