From 2127b1bdd73ecd2423e443992da4b442f5a3c1a3 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Wed, 04 Feb 2026 21:19:25 +0000
Subject: [PATCH] =Major overhaul of MetaManager.php -> Meta.php and RestRouteManager.php -> Rest.php. Seems to work for JakeVan

---
 inc/registry/TaxonomyRegistrar.php |   41 +++++------------------------------------
 1 files changed, 5 insertions(+), 36 deletions(-)

diff --git a/inc/registry/TaxonomyRegistrar.php b/inc/registry/TaxonomyRegistrar.php
index c1bf6e2..448d917 100644
--- a/inc/registry/TaxonomyRegistrar.php
+++ b/inc/registry/TaxonomyRegistrar.php
@@ -1,12 +1,8 @@
 <?php
 namespace JVBase\registry;
 
-use JVBase\meta\MetaManager;
-use JVBase\meta\MetaRegistry;
-use JVBase\managers\CacheManager;
-use JVBase\utility\Checker;
-use Exception;
-use WP_Error;
+use JVBase\meta\Meta;
+use JVBase\meta\Registry;
 if (!defined('ABSPATH')) {
 	exit;
 }
@@ -31,7 +27,6 @@
 		if ($this->config['is_content'] ?? false) {
 			$this->setupContentTaxonomyHooks();
 		}
-		$this->registerHooks();
 	}
 
 	public function register(): void
@@ -57,7 +52,7 @@
 
 		$this->maybeAddRewriteRule($args['rewrite']);
 		if (!empty($this->fields)) {
-			$meta_registry = new MetaRegistry($this->fields, $this->slug, 'term');
+			$meta_registry = new Registry($this->fields, $this->slug, 'term');
 			$meta_registry->registerMetaFields();
 		}
 	}
@@ -217,13 +212,13 @@
         // Prepare data for insertion/update
         $data = [
             'term_id' => $term_id,
-            'name' => $term->name,
+            'name' => html_entity_decode($term->name),
             'slug' => $term->slug,
             'updated_at' => current_time('mysql')
         ];
 
         // Get meta manager for this term
-        $meta = new MetaManager($term_id, 'term');
+        $meta = Meta::forTerm($term_id);
 		$values = $meta->getAll(array_keys($custom_fields));
 
         // Process each custom field
@@ -346,30 +341,4 @@
     {
         return jvbContentTaxonomiesTableFields($this->slug)['fields'] ?? [];
     }
-
-	protected function registerHooks():void
-	{
-		$actions = ['created_term', 'edited_term', 'delete_term'];
-		$taxonomy = $this->taxonomy;
-		foreach ($actions as $action) {
-			add_action($action, function($term_id, $tt_id, $tax) use ($taxonomy, $action) {
-				if ($tax !== $taxonomy) return;
-
-				$term = get_term($term_id, $tax);
-
-				CacheManager::for(jvbNoBase($taxonomy))->invalidate();
-				CacheManager::for(jvbNoBase($taxonomy))->clear();
-
-				// Clear cache for associated content types
-				$checker = Checker::getInstance();
-				$content_types = $checker->getContentForTaxonomy($taxonomy);
-
-				foreach ($content_types as $content_type) {
-					CacheManager::for($content_type)->invalidate();
-				}
-
-				do_action("jvb_taxonomy_cache_invalidated_{$taxonomy}", $term, $action);
-			}, 10, 3);
-		}
-	}
 }

--
Gitblit v1.10.0