• Resolved T.M.

    (@tm-2)


    I’ve written a custom taxonomy for posts and pages on my WordPress Multisite installation as a short plugin. The code is as follows:

    add_action('init', 'register_taxonomy_navigation_terms');
    
    function register_taxonomy_navigation_terms()
    {
      $labels = array(
        'name' => 'Navigation Terms',
    	/* ... */
      );
      $args = array(
        'labels' => $labels,
        'public' => true,
        'show_in_nav_menus' => true,
        'show_ui' => true,
        'show_tagcloud' => false,
        'show_admin_column' => false,
        'hierarchical' => false,
        'rewrite' => true,
        'query_var' => true,
        'capabilities' => array(
          'manage_terms' => 'navigation_terms_manage',
          'edit_terms' => 'navigation_terms_edit',
          'delete_terms' => 'navigation_terms_delete',
          'assign_terms' => 'navigation_terms_assign'
        )
      );
      if(!taxonomy_exists('navigation_terms'))
      {
        register_taxonomy('navigation_terms', array('page', 'post') , $args);
      }
    }

    The taxonomy is to be used for locating navigation pages across the entire network. I’m using Network_Query class from the Post Indexer plugin (https://premium.wpmudev.org/project/post-indexer/) to do this.

    I’ve noticed some strange things concerning this taxonomy.
    First of all, I can activate and deactivate the plugin containing the taxonomy from network admin plugins panel, but I don’t even see it from wither of site admin plugins panels.
    Second issue is, at first the taxonomy had just one entry in wp_term_taxonomy table – now it has ~20 rows and that number is constantly growing.
    Third and most important issue is that the query for pages and posts properly tagged with the taxonomy sometimes fails. It always works when querying for certain terms, and always fails when querying for certain others.
    It seems that some of the terms are tagged using one of those “multiple taxonomies”, and some are tagged using the others, but the query searches only for terms matching a certain term_taxonomy_id, and not all taxonomies by name, but that’s only my hunch.

    What’s the real cause of this error and how to fix it?

Viewing 3 replies - 1 through 3 (of 3 total)
  • Thread Starter T.M.

    (@tm-2)

    I also use User Tags for WordPress plugin (https://wordpress.org/plugins/user-tags/) to tag users with another taxonomy (representing positions they exercise in an NGO which I’m a member of) and there’s the same error: the plugin containing the taxonomy is not visible on site plugins screen (even though I can access the plugin via a menu it adds to site dashboard), the taxonomy is duplicated multiple times in wp_term_taxonomy (6 times by now), and querying database for users based on user taxonomy (via $wpdb->get_results()) sometimes fails.

    HuddersfieldH

    (@huddersfield-hosting)

    I don’t know much about taxonomies, but I can answer this bit:

    I’ve noticed some strange things concerning this taxonomy.
    First of all, I can activate and deactivate the plugin containing the taxonomy from network admin plugins panel, but I don’t even see it from wither of site admin plugins panels.

    When you activate a plugin from network admin, you activate it across all sites and therefore it won’t appear in the network admin plugin area (unless multisite specific plugin, like the domain mapping one). If you try activating it on each individual site, that might work.

    Thread Starter T.M.

    (@tm-2)

    It seems that WordPress is creating a new row in wp_term_taxonomy not for each custom taxonomy, but for each unique custom taxonomy term. The problem was in a completely different place.

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Single multisite custom taxonomy creates multiple wp_term_taxonomy table entries’ is closed to new replies.