register_defaults();} return self::$instance; } private function register_defaults() { foreach(array('WMF_Field_Text','WMF_Field_Email','WMF_Field_Textarea','WMF_Field_Select', 'WMF_Field_Checkbox','WMF_Field_Radio','WMF_Field_Number','WMF_Field_Phone', 'WMF_Field_URL','WMF_Field_Date','WMF_Field_File','WMF_Field_Rating', 'WMF_Field_Range','WMF_Field_GDPR','WMF_Field_Signature', 'WMF_Field_Hidden','WMF_Field_HTML','WMF_Field_Divider') as $cls) { $f=new $cls(); $this->fields[$f->type]=$f; } } public function get_fields() { return $this->fields; } public function get_field($type) { return $this->fields[$type]??null; } }