| | |
| | | */ |
| | | protected string $type; |
| | | /** |
| | | * @var string the full slug, with BASE |
| | | * @var ?string the full slug, with BASE |
| | | */ |
| | | protected string $slug; |
| | | protected ?string $slug; |
| | | |
| | | protected string $contentType; |
| | | protected Item $item; |
| | |
| | | protected Validator $validator; |
| | | protected Sanitizer $sanitizer; |
| | | protected array $fields; |
| | | protected WP_Post|WP_Term|WP_User|null $wpObject; |
| | | protected WP_Post|WP_Term|WP_User|false|null $wpObject; |
| | | protected int|string $ID; |
| | | protected MetaTypeManager $typeManager; |
| | | protected static array $instances = ['post' => [],'term' => [], 'user'=>[],'options'=>[]]; |
| | |
| | | 'post' => get_post($id), |
| | | 'term' => get_term($id), |
| | | 'user', 'integrations' => get_userdata($id), |
| | | default => null |
| | | default => false |
| | | }; |
| | | if (!$this->wpObject){ |
| | | return; |
| | | } |
| | | |
| | | $this->slug = match($type) { |
| | | 'post' => $this->wpObject->post_type, |
| | |
| | | |
| | | |
| | | |
| | | $registrar = Registrar::getInstance($this->slug); |
| | | $registrar = !is_null($this->slug) ? Registrar::getInstance($this->slug) : false; |
| | | $fields = $registrar ? $registrar->getFields() : []; |
| | | $meta = match($type) { |
| | | 'post' => get_post_meta($id), |
| | |
| | | public function setAll(array $data):bool |
| | | { |
| | | foreach ($data as $name => $value) { |
| | | error_log('Setting '.$name.' with value: '.print_r($value, true)); |
| | | $this->set($name, $value, false); |
| | | } |
| | | return $this->save(); |