Jake Vanderwerf
2026-03-03 772462eeca3002a1d52508aeba485aab2b4742ad
inc/registry/TaxonomyRegistrar.php
@@ -1,8 +1,9 @@
<?php
namespace JVBase\registry;
use JVBase\meta\MetaManager;
use JVBase\meta\MetaRegistry;
use JVBase\managers\CRUD;
use JVBase\meta\Meta;
use JVBase\meta\Registry;
if (!defined('ABSPATH')) {
   exit;
}
@@ -27,6 +28,7 @@
      if ($this->config['is_content'] ?? false) {
         $this->setupContentTaxonomyHooks();
      }
      add_filter('jvbDashboardPage', [$this, 'renderDashPage'], 10, 3);
   }
   public function register(): void
@@ -52,7 +54,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();
      }
   }
@@ -218,7 +220,7 @@
        ];
        // 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
@@ -333,12 +335,15 @@
        return $data;
    }
    /**
     * Get custom table fields for this taxonomy
     * @return array Field definitions
     */
    protected function getCustomTableFields():array
    {
        return jvbContentTaxonomiesTableFields($this->slug)['fields'] ?? [];
    }
   public function renderDashPage(string $content, string $page, string $slug):string
   {
      if ($slug === $this->slug) {
         ob_start();
         $crud = new CRUD($slug);
         $crud->render();
         return ob_get_clean();
      }
      return $content;
   }
}