Jake Vanderwerf
2026-02-10 172a8b4404ea4ef10801d4662a68c7503aef23e1
inc/managers/TaxonomyRelationships.php
@@ -1,9 +1,9 @@
<?php
namespace JVBase\managers;
use JVBase\JVB;
use JVBase\managers\CacheManager;
use JVBase\managers\Cache;
use WP_Error;
use WP_Post;
if (!defined('ABSPATH')) {
    exit; // Exit if accessed directly
@@ -19,7 +19,7 @@
    {
        global $wpdb;
        $this->table_name = $wpdb->prefix . BASE.'taxonomy_relationships';
        $this->cache = new CacheManager('term_relationship', 86400);
        $this->cache = Cache::for('term_relationship', WEEK_IN_SECONDS);
        // Ensure the table exists
//        $this->create_table_if_not_exists();
@@ -42,8 +42,8 @@
     */
    public function init():void
    {
        add_action('save_post', [$this, 'updatePostRelationships']);
        add_action('before_delete_post', [$this, 'updatePostRelationships']);
        add_action('save_post', [$this, 'updatePostRelationships'], 10, 2);
        add_action('before_delete_post', [$this, 'updatePostRelationships'], 10, 2);
        add_action('delete_term', [$this, 'deleteTermRelationships']);
        add_filter(BASE.'handle_bulk_operation', [$this, 'processOperation'], 10, 3);
@@ -57,11 +57,10 @@
     *
     * @return void
     */
    public function updatePostRelationships(int $post_id):void
    public function updatePostRelationships(int $post_id, WP_Post $post):void
    {
        $this->cache->invalidateGroup('term_relationships');
        $post_type = get_post_type($post_id);
      if (in_array($post_type, [BASE.'directory', BASE.'dash'])) {
      $post_type = $post->post_type;
      if (in_array($post_type, jvbIgnoredPostTypes())) {
         return;
      }
        // Get all taxonomies for this post type
@@ -338,7 +337,7 @@
     */
    public function rebuildAllRelationships():bool
    {
        $this->cache->invalidateGroup('term_relationships');
        $this->cache->flush();
        global $wpdb;
        // Clear existing relationships
@@ -370,7 +369,7 @@
            ]
        );
        $this->cache->invalidateGroup('term_relationships');
        $this->cache->flush();
        return true;
    }
@@ -448,6 +447,5 @@
            $term_id,
            $term_id
        ));
        $this->cache->invalidateGroup('term_relationships');
    }
}