Jake Vanderwerf
2026-01-25 b38f03c0e7218762d90fa5092696b127f24f36db
inc/registry/TaxonomyRegistrar.php
@@ -3,10 +3,6 @@
use JVBase\meta\MetaManager;
use JVBase\meta\MetaRegistry;
use JVBase\managers\CacheManager;
use JVBase\utility\Checker;
use Exception;
use WP_Error;
if (!defined('ABSPATH')) {
   exit;
}
@@ -31,7 +27,6 @@
      if ($this->config['is_content'] ?? false) {
         $this->setupContentTaxonomyHooks();
      }
      $this->registerHooks();
   }
   public function register(): void
@@ -217,7 +212,7 @@
        // 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')
        ];
@@ -346,29 +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();
            // 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);
      }
   }
}