Jake Vanderwerf
2025-11-23 d7dbe7fee362d587dfc334135d9581b6216a4295
inc/meta/MetaManager.php
@@ -19,6 +19,7 @@
   public MetaForm $form;
   protected int|null $object_id;
   public object|null $data;
   protected array $fields =[];
   protected string $field;
   protected mixed $value;
   protected string|null $object_type;
@@ -332,11 +333,7 @@
               }
         }
         if ($field_config['type'] == 'taxonomy' && (!array_key_exists('taxonomy_type', $field_config))) {
            error_log('Attempting to set taxonomies: ' . print_r($this->object_id, true));
            error_log('Sanitized data: ' . print_r($sanitized, true));
            error_log('Taxonomy: ' . print_r($field_config['taxonomy'], true));
            $set = wp_set_post_terms($this->object_id, $sanitized, jvbCheckBase($field_config['taxonomy']), false);
            error_log('Set post terms: ' . print_r($set, true));
         }
         if ($field_config['type'] === 'location' && empty($sanitized)) {
            $this->addMeta('has_map', false);
@@ -502,6 +499,10 @@
   protected function getFields(): array
   {
      if (!empty($this->fields)) {
         return $this->fields;
      }
      $type = false;
      switch ($this->object_type) {
         case 'post':
            $type = get_post_type((int)$this->object_id);
@@ -515,6 +516,9 @@
         case 'options':
            return jvbGetFields('options');
      }
      if (!$type) {
         return [];
      }
      return jvbGetFields($type, $this->object_type);
   }
@@ -542,6 +546,7 @@
   protected function getSections():array
   {
      $type = false;
      switch ($this->object_type) {
         case 'post':
            $type = get_post_type((int)$this->object_id);
@@ -601,6 +606,11 @@
        }
    }
   public function setFieldConfig(array $fields):void
   {
      $this->fields = $fields;
   }
    protected function getFieldConfig(string $name):array|false
    {
        $fields = $this->getFields();
@@ -749,7 +759,7 @@
      }
      echo (jvbCheck('submit', $options)) ? '<button type="submit">'.jvbIcon('save').'Save</button>' : '';
      echo (jvbCheck('submit', $options)) ? '<button type="submit">'.jvbIcon('floppy-disk').'Save</button>' : '';
      echo '</form>';
        $out = ob_get_clean();
@@ -793,7 +803,7 @@
            $out = '<p class="'.$name.'">'.jvbIcon('calendar').'<span></span></p>';
            break;
         case 'time':
            $out = '<p class="'.$name.'">'.jvbIcon('time').'<time></time></p>';
            $out = '<p class="'.$name.'">'.jvbIcon('clock').'<time></time></p>';
            break;
         case 'true_false':
            $out = '<p class="'.$name.'"></p>';
@@ -1006,7 +1016,8 @@
               }
               if ($field_config['type'] === 'taxonomy' && !array_key_exists('taxonomy_type', $field_config)){
                  $set = wp_set_post_terms($this->object_id, $sanitized, jvbCheckBase($field_config['taxonomy']), false);
                  $term_ids = array_map('intval', explode(',', trim($sanitized)));
                  $set = wp_set_post_terms($this->object_id, $term_ids, jvbCheckBase($field_config['taxonomy']), false);
               }
               if ($field_config['type'] === 'location' && empty($sanitized)) {