Jake Vanderwerf
2026-03-08 c19264ac916707096fe294d996a1b7fb85206b34
inc/registrar/fields/Field.php
@@ -37,12 +37,23 @@
            return;
         }
      }
      $current = get_class($this);
      $class = match($config['type']) {
         'group'  => ($current !== GroupedField::class) ? new GroupedField($name, $config) : $this,
         'select', 'radio', 'checkbox' => ($current !== OptionsField::class) ? new OptionsField($name, $config) : $this,
         'repeater' => ($current !== RepeaterField::class) ? new RepeaterField($name, $config) : $this,
         'taglist' => ($current !== TagListField::class) ? new TagListField($name, $config) : $this,
         'taxonomy', 'post', 'user', 'selector' => ($current !== SelectorField::class) ? new SelectorField($name, $config) : $this,
         'upload' => ($current !== UploadField::class) ? new UploadField($name, $config) : $this,
         default => $this
      };
      foreach ($config as $key => $value) {
         if (property_exists($this, $key)) {
         if (property_exists($class, $key)) {
            $method = 'set' . ucfirst($key);
            $this->$method($value);
            $class->$method($value);
         } else {
            error_log('Instance: '.print_r($this, true));
            error_log('Instance: '.print_r($class, true));
            error_log('[JVBase\registrar\Field] Invalid key for '.$name.': '.$key);
         }
      }