From 3baf3d2545ba6ece6b74a64c0def59bd0774cf54 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Wed, 10 Jun 2026 16:34:12 +0000
Subject: [PATCH] =Laid the groundwork for an improved DashboardManager.php setup. Have to put it aside so I can get the dang Northeh done though.

---
 inc/meta/Storage.php |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/inc/meta/Storage.php b/inc/meta/Storage.php
index 4d08864..386b7b4 100644
--- a/inc/meta/Storage.php
+++ b/inc/meta/Storage.php
@@ -77,7 +77,7 @@
 				&& (
 					($config['type'] ?? '') === 'taxonomy'
 					|| (($config['type']??'') === 'selector' && ($config['subtype']??'') === 'taxonomy')
-				) && !isset($config['taxonomy_type'])) {
+				) && (!isset($config['taxonomy_type']) || !isset($config['isReference']))) {
 				$taxonomyFields[$name] = $config;
 			} else {
 				$metaFields[] = $name;
@@ -123,18 +123,21 @@
 		}
 
 		if ($field->isTaxonomy()) {
+			error_log('Saving Taxonomy field with set_object_terms');
 			return $this->saveTaxonomyField($item, $field);
 		}
 
 		$metaKey = BASE . $field->name;
-
-		return match ($item->objectType) {
-			'post' => update_post_meta($item->id, $metaKey, $field->value) !== false,
-			'term' => update_term_meta($item->id, $metaKey, $field->value) !== false,
-			'user', 'integrations' => update_user_meta($item->id, $metaKey, $field->value) !== false,
+		$result =  match ($item->objectType) {
+			'post' => (bool)update_post_meta($item->id, $metaKey, $field->value),
+			'term' => (bool)update_term_meta($item->id, $metaKey, $field->value),
+			'user', 'integrations' => (bool)update_user_meta($item->id, $metaKey, $field->value),
 			'options' => $this->saveOption($item, $field),
 			default => false
 		};
+
+		error_log('Result: '.print_r($result, true));
+		return $result;
 	}
 
 	/**
@@ -149,10 +152,10 @@
 		}
 
 		$this->wpdb->query('START TRANSACTION');
-
 		try {
 			foreach ($dirty as $field) {
 				if (!$this->saveField($item, $field)) {
+					error_log("Could not save field: {$field->name}");
 					throw new Exception("Failed to save field: {$field->name}");
 				}
 				$field->markClean();
@@ -431,7 +434,7 @@
 	{
 		return match ($name) {
 			'post_title' => get_the_title($item->id),
-			'post_excerpt' => get_the_excerpt($item->id),
+			'post_excerpt' => has_excerpt($item->id) ? get_the_excerpt($item->id):'',
 			'post_content' => get_post_field('post_content', $item->id),
 			default => $item->wpObject->$name ?? ''
 		};
@@ -440,7 +443,7 @@
 	protected function getTermField(Item $item, string $name): mixed
 	{
 		return match ($name) {
-			'term_name' => get_term_field('name', $item->id),
+			'name' => get_term_field('name', $item->id),
 			'description' => get_term_field('description', $item->id),
 			default => ''
 		};
@@ -538,7 +541,6 @@
 	{
 		$taxonomy = jvbCheckBase($field->config['taxonomy']);
 		$value = $field->value;
-
 		if (empty(trim((string)$value))) {
 			wp_set_object_terms($item->id, [], $taxonomy, false);
 			return true;

--
Gitblit v1.10.0