Jake Vanderwerf
2026-09-14 7935d26cd16a4f8f69a59a44e27a7263b60e54bf
inc/admin/ContentTaxonomy.php
@@ -5,8 +5,8 @@
   exit;
}
use JVBase\managers\queue\Queue;
use JVBase\registrar\Registrar;
use JVBase\registry\TaxonomyRegistrar;
use WP_Error;
use Exception;
@@ -18,7 +18,7 @@
{
    public function __construct()
    {
      if (empty(Registrar::getFeatured('is_content', 'term'))){
      if (empty(Registrar::withFeature('is_content', 'term'))){
         return;
      }
        add_filter(BASE.'handle_bulk_operation', [ $this, 'processOperation' ], 10, 3);
@@ -51,7 +51,7 @@
        // Handle individual taxonomy rebuild
        if (isset($_POST['rebuild_taxonomy']) && wp_verify_nonce($_POST['_wpnonce'], 'rebuild_taxonomy')) {
            $taxonomy = sanitize_text_field($_POST['taxonomy']);
         $registrar = Registrar::getInstance($taxonomy));
         $registrar = Registrar::getInstance($taxonomy);
            if ($registrar && $registrar->hasFeature('is_content')) {
                $results = $this->rebuildCustomTable($taxonomy);
                // Store results in transient to display after redirect
@@ -125,7 +125,7 @@
                    </thead>
                    <tbody>
                    <?php
               $taxonomies = Registrar::getFeatured('is_content', 'term');
               $taxonomies = Registrar::withFeature('is_content', 'term');
               foreach ($taxonomies as $slug):
                  $registrar = Registrar::getInstance($slug);
                        $taxonomy = BASE . $slug;
@@ -291,7 +291,7 @@
            <?php foreach ($results['details'] as $taxonomy => $detail): ?>
                <details>
                    <summary class="row btw">
                    <summary class="row x-btw">
                        <strong><?= esc_html(ucfirst($taxonomy)) ?></strong>
                        <?php if ($detail['errors'] === 0): ?>
                            <span style="color: green;">✓ Success</span>
@@ -324,7 +324,7 @@
        ];
        // Check if this is a content taxonomy
      $registrar = Registrar::getInstance($taxonomy));
      $registrar = Registrar::getInstance($taxonomy);
      if (!$registrar->hasFeature('is_content')) {
            $results['messages'][] = "Taxonomy {$taxonomy} is not a content taxonomy";
            return $results;
@@ -359,7 +359,7 @@
        $results['total'] = count($terms);
        $results['messages'][] = "Found {$results['total']} terms to process";
        JVB()->queue()->queueOperation(
        Queue::getInstance()->queueOperation(
            'sync_content_taxonomy_tables',
            0,
            [
@@ -378,18 +378,17 @@
    public function processOperation(WP_Error $result, object $operation, array $data):WP_Error|array
    {
        switch ($operation->type) {
            case 'sync_content_taxonomy_tables':
                return $this->processContentTaxonomyTableSync($operation, $data);
            default:
                return $result;
        }
      return match ($operation->type) {
          'sync_content_taxonomy_tables' => $this->processContentTaxonomyTableSync($operation, $data),
          default => $result,
       };
    }
    public function processContentTaxonomyTableSync(object $operation, array $data):array
    {
      //TODO: This won't work currently
        $taxonomy = $data['taxonomy'];
        $registrar = new TaxonomyRegistrar($taxonomy, JVB_TAXONOMY[$taxonomy]);
        $registrar = Registrar::getInstance($taxonomy);
        $results = ['errors' => 0, 'success' => 0];
        foreach ($data['terms'] as $term) {
            try {