Jake Vanderwerf
2026-01-22 58e8ae0759ccfa97c478ccae4e0778bdce70966f
inc/rest/routes/TermRoutes.php
@@ -22,7 +22,9 @@
    {
        $this->cache_name = 'terms';
        parent::__construct();
//    $this->cache->invalidateGroup('terms');
      if (JVB_TESTING) {
         $this->cache->clear();
      }
        $this->per_page = 20;
        add_action('edited_term', [$this, 'deleteTermPath']);
@@ -200,7 +202,7 @@
         $args = [
            'taxonomy'  => $taxonomy,
            'include'   => $data['termIDs'],
            'hide_empty'   => false,
            'hide_empty'   => true,
         ];
         $key = $this->cache->generateKey($args);
         $cached = $this->cache->get($key);
@@ -241,9 +243,9 @@
                    'page' => 1,
                    'per_page' => $per_page,
                    'total_pages' => 0,
                    'total_terms' => 0,
                    'has_more' => false
                ]
                    'total_terms' => 0
                ],
            'has_more' => false
            ]);
        }
@@ -260,7 +262,7 @@
        // Get terms for current level with child count
        $args = [
            'taxonomy' => $taxonomy,
            'hide_empty' => false,
            'hide_empty' => true,
            'parent' => $parent,
            'number' => $per_page,
         'orderby'=> 'name',
@@ -284,8 +286,8 @@
                        'per_page' => $per_page,
                        'total_pages' => 0,
                        'total_terms' => 0,
                        'has_more' => false
                    ]
                    ],
               'has_more' => false
                ]);
            return $this->addCacheHeaders($response);
            }
@@ -306,9 +308,9 @@
                        'page' => 1,
                        'per_page' => $per_page,
                        'total_pages' => 0,
                        'total_terms' => 0,
                        'has_more' => false
                    ]
                        'total_terms' => 0
                    ],
               'has_more' => false
                ]);
            return $this->addCacheHeaders($response);
            }
@@ -365,9 +367,9 @@
                        'page' => 1,
                        'per_page' => $per_page,
                        'total_pages' => 0,
                        'total_terms' => 0,
                        'has_more' => false
                    ]
                        'total_terms' => 0
                    ],
               'has_more' => false
                ]);
            return $this->addCacheHeaders($response);
@@ -403,9 +405,9 @@
                'page' => $page,
                'per_page' => $per_page,
                'total_pages' => $total_pages,
                'total_terms' => (int)$total_terms,
                'has_more' => $has_more
            ]
                'total_terms' => (int)$total_terms
            ],
         'has_more' => $has_more
        ];
        $this->cache->set($key, $response);
@@ -442,9 +444,9 @@
         'items'  => $all_terms,
         'pagination'=> [
            'page' => $page,
            'per_page'=> $per_page,
            'has_more' => true,
         ]
            'per_page'=> $per_page
         ],
         'has_more' => true,
      ];
      $response = new WP_REST_Response($response);
@@ -533,7 +535,7 @@
        // When searching, we want to search across all terms regardless of hierarchy
        $args = [
            'taxonomy' => $taxonomy,
            'hide_empty' => false,
            'hide_empty' => true,
            'search' => $search,
            'search_columns' => ['name', 'slug'],
            'fields' => 'all',
@@ -556,9 +558,9 @@
                    'page' => 0,
                    'per_page' => 20,
                    'total_pages' => 0,
                    'total_terms' => 0,
                    'has_more' => false
                ]
                    'total_terms' => 0
                ],
            'has_more' => false
            ]);
        }
@@ -582,9 +584,9 @@
                'page' => (int)$page,
                'per_page' => (int)$per_page,
                'total_pages' => $total_pages,
                'total_terms' => (int)$total_terms,
                'has_more' => $has_more
            ]
                'total_terms' => (int)$total_terms
            ],
         'has_more' => $has_more
        ];
        $this->cache->set($key, $response);
@@ -776,9 +778,9 @@
                    'page'      => (int)$page,
                    'per_page'  => (int)$per_page,
                    'total_terms'=> $total,
                    'total_pages'=> $total_pages,
                    'has_more'  => $page < $total_pages
                ]
                    'total_pages'=> $total_pages
                ],
            'has_more'  => $page < $total_pages
            ];
            // Cache results
@@ -817,7 +819,7 @@
            // Build query args
            $args = [
                'taxonomy' => $taxonomy,
                'hide_empty' => false,
                'hide_empty' => true,
                'orderby' => $search ? 'name' : 'count',
                'order' => $search ? 'ASC' : 'DESC',
                'number' => $per_page,
@@ -840,9 +842,9 @@
                        'page' => 0,
                        'per_page' => 20,
                        'total_pages' => 0,
                        'total_terms' => 0,
                        'has_more' => 0
                    ]
                        'total_terms' => 0
                    ],
               'has_more' => 0
                ]);
            }
@@ -866,9 +868,9 @@
                    'page' => (int)$page,
                    'per_page' => (int)$per_page,
                    'total_pages' => $total_pages,
                    'total_terms' => (int)$total,
                    'has_more' => $page < $total_pages
                ]
                    'total_terms' => (int)$total
                ],
            'has_more' => $page < $total_pages
            ];
            // Cache results