global_terms

The timeline below displays how wordpress function global_terms has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Maintains a canonical list of terms by syncing terms created for each blog with the global terms table.
 *
 * @since 3.0.0
 * @since 6.1.0 This function no longer does anything.
 * @deprecated 6.1.0
 *
 * @param int    $term_id    An ID for a term on the current blog.
 * @param string $deprecated Not used.
 * @return int An ID from the global terms table mapped from $term_id.
 */
function global_terms($term_id, $deprecated = '')
{
    _deprecated_function(__FUNCTION__, '6.1.0');
    return $term_id;
}

WordPress Version: 5.6

/**
 * Maintains a canonical list of terms by syncing terms created for each blog with the global terms table.
 *
 * @since 3.0.0
 *
 * @see term_id_filter
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int    $term_id    An ID for a term on the current blog.
 * @param string $deprecated Not used.
 * @return int An ID from the global terms table mapped from $term_id.
 */
function global_terms($term_id, $deprecated = '')
{
    global $wpdb;
    static $global_terms_recurse = null;
    if (!global_terms_enabled()) {
        return $term_id;
    }
    // Prevent a race condition.
    $recurse_start = false;
    if (null === $global_terms_recurse) {
        $recurse_start = true;
        $global_terms_recurse = 1;
    } elseif (10 < $global_terms_recurse++) {
        return $term_id;
    }
    $term_id = (int) $term_id;
    $c = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->terms} WHERE term_id = %d", $term_id));
    $global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $c->slug));
    if (null == $global_id) {
        $used_global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE cat_ID = %d", $c->term_id));
        if (null == $used_global_id) {
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $term_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
            if (empty($global_id)) {
                return $term_id;
            }
        } else {
            $max_global_id = $wpdb->get_var("SELECT MAX(cat_ID) FROM {$wpdb->sitecategories}");
            $max_local_id = $wpdb->get_var("SELECT MAX(term_id) FROM {$wpdb->terms}");
            $new_global_id = max($max_global_id, $max_local_id) + mt_rand(100, 400);
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $new_global_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
        }
    } elseif ($global_id != $term_id) {
        $local_id = $wpdb->get_var($wpdb->prepare("SELECT term_id FROM {$wpdb->terms} WHERE term_id = %d", $global_id));
        if (null != $local_id) {
            global_terms($local_id);
            if (10 < $global_terms_recurse) {
                $global_id = $term_id;
            }
        }
    }
    if ($global_id != $term_id) {
        if (get_option('default_category') == $term_id) {
            update_option('default_category', $global_id);
        }
        $wpdb->update($wpdb->terms, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('parent' => $global_id), array('parent' => $term_id));
        clean_term_cache($term_id);
    }
    if ($recurse_start) {
        $global_terms_recurse = null;
    }
    return $global_id;
}

WordPress Version: 5.5

/**
 * Maintains a canonical list of terms by syncing terms created for each blog with the global terms table.
 *
 * @since 3.0.0
 *
 * @see term_id_filter
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int    $term_id    An ID for a term on the current blog.
 * @param string $deprecated Not used.
 * @return int An ID from the global terms table mapped from $term_id.
 */
function global_terms($term_id, $deprecated = '')
{
    global $wpdb;
    static $global_terms_recurse = null;
    if (!global_terms_enabled()) {
        return $term_id;
    }
    // Prevent a race condition.
    $recurse_start = false;
    if (null === $global_terms_recurse) {
        $recurse_start = true;
        $global_terms_recurse = 1;
    } elseif (10 < $global_terms_recurse++) {
        return $term_id;
    }
    $term_id = intval($term_id);
    $c = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->terms} WHERE term_id = %d", $term_id));
    $global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $c->slug));
    if (null == $global_id) {
        $used_global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE cat_ID = %d", $c->term_id));
        if (null == $used_global_id) {
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $term_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
            if (empty($global_id)) {
                return $term_id;
            }
        } else {
            $max_global_id = $wpdb->get_var("SELECT MAX(cat_ID) FROM {$wpdb->sitecategories}");
            $max_local_id = $wpdb->get_var("SELECT MAX(term_id) FROM {$wpdb->terms}");
            $new_global_id = max($max_global_id, $max_local_id) + mt_rand(100, 400);
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $new_global_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
        }
    } elseif ($global_id != $term_id) {
        $local_id = $wpdb->get_var($wpdb->prepare("SELECT term_id FROM {$wpdb->terms} WHERE term_id = %d", $global_id));
        if (null != $local_id) {
            global_terms($local_id);
            if (10 < $global_terms_recurse) {
                $global_id = $term_id;
            }
        }
    }
    if ($global_id != $term_id) {
        if (get_option('default_category') == $term_id) {
            update_option('default_category', $global_id);
        }
        $wpdb->update($wpdb->terms, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('parent' => $global_id), array('parent' => $term_id));
        clean_term_cache($term_id);
    }
    if ($recurse_start) {
        $global_terms_recurse = null;
    }
    return $global_id;
}

WordPress Version: 5.4

/**
 * Maintains a canonical list of terms by syncing terms created for each blog with the global terms table.
 *
 * @since 3.0.0
 *
 * @see term_id_filter
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 * @staticvar int $global_terms_recurse
 *
 * @param int    $term_id    An ID for a term on the current blog.
 * @param string $deprecated Not used.
 * @return int An ID from the global terms table mapped from $term_id.
 */
function global_terms($term_id, $deprecated = '')
{
    global $wpdb;
    static $global_terms_recurse = null;
    if (!global_terms_enabled()) {
        return $term_id;
    }
    // Prevent a race condition.
    $recurse_start = false;
    if (null === $global_terms_recurse) {
        $recurse_start = true;
        $global_terms_recurse = 1;
    } elseif (10 < $global_terms_recurse++) {
        return $term_id;
    }
    $term_id = intval($term_id);
    $c = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->terms} WHERE term_id = %d", $term_id));
    $global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $c->slug));
    if (null == $global_id) {
        $used_global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE cat_ID = %d", $c->term_id));
        if (null == $used_global_id) {
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $term_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
            if (empty($global_id)) {
                return $term_id;
            }
        } else {
            $max_global_id = $wpdb->get_var("SELECT MAX(cat_ID) FROM {$wpdb->sitecategories}");
            $max_local_id = $wpdb->get_var("SELECT MAX(term_id) FROM {$wpdb->terms}");
            $new_global_id = max($max_global_id, $max_local_id) + mt_rand(100, 400);
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $new_global_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
        }
    } elseif ($global_id != $term_id) {
        $local_id = $wpdb->get_var($wpdb->prepare("SELECT term_id FROM {$wpdb->terms} WHERE term_id = %d", $global_id));
        if (null != $local_id) {
            global_terms($local_id);
            if (10 < $global_terms_recurse) {
                $global_id = $term_id;
            }
        }
    }
    if ($global_id != $term_id) {
        if (get_option('default_category') == $term_id) {
            update_option('default_category', $global_id);
        }
        $wpdb->update($wpdb->terms, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('parent' => $global_id), array('parent' => $term_id));
        clean_term_cache($term_id);
    }
    if ($recurse_start) {
        $global_terms_recurse = null;
    }
    return $global_id;
}

WordPress Version: 4.5

/**
 * Maintains a canonical list of terms by syncing terms created for each blog with the global terms table.
 *
 * @since 3.0.0
 *
 * @see term_id_filter
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 * @staticvar int $global_terms_recurse
 *
 * @param int    $term_id    An ID for a term on the current blog.
 * @param string $deprecated Not used.
 * @return int An ID from the global terms table mapped from $term_id.
 */
function global_terms($term_id, $deprecated = '')
{
    global $wpdb;
    static $global_terms_recurse = null;
    if (!global_terms_enabled()) {
        return $term_id;
    }
    // prevent a race condition
    $recurse_start = false;
    if ($global_terms_recurse === null) {
        $recurse_start = true;
        $global_terms_recurse = 1;
    } elseif (10 < $global_terms_recurse++) {
        return $term_id;
    }
    $term_id = intval($term_id);
    $c = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->terms} WHERE term_id = %d", $term_id));
    $global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $c->slug));
    if ($global_id == null) {
        $used_global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE cat_ID = %d", $c->term_id));
        if (null == $used_global_id) {
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $term_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
            if (empty($global_id)) {
                return $term_id;
            }
        } else {
            $max_global_id = $wpdb->get_var("SELECT MAX(cat_ID) FROM {$wpdb->sitecategories}");
            $max_local_id = $wpdb->get_var("SELECT MAX(term_id) FROM {$wpdb->terms}");
            $new_global_id = max($max_global_id, $max_local_id) + mt_rand(100, 400);
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $new_global_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
        }
    } elseif ($global_id != $term_id) {
        $local_id = $wpdb->get_var($wpdb->prepare("SELECT term_id FROM {$wpdb->terms} WHERE term_id = %d", $global_id));
        if (null != $local_id) {
            global_terms($local_id);
            if (10 < $global_terms_recurse) {
                $global_id = $term_id;
            }
        }
    }
    if ($global_id != $term_id) {
        if (get_option('default_category') == $term_id) {
            update_option('default_category', $global_id);
        }
        $wpdb->update($wpdb->terms, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('parent' => $global_id), array('parent' => $term_id));
        clean_term_cache($term_id);
    }
    if ($recurse_start) {
        $global_terms_recurse = null;
    }
    return $global_id;
}

WordPress Version: 4.4

/**
 * Maintains a canonical list of terms by syncing terms created for each blog with the global terms table.
 *
 * @since 3.0.0
 *
 * @see term_id_filter
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 * @staticvar int $global_terms_recurse
 *
 * @param int $term_id An ID for a term on the current blog.
 * @return int An ID from the global terms table mapped from $term_id.
 */
function global_terms($term_id, $deprecated = '')
{
    global $wpdb;
    static $global_terms_recurse = null;
    if (!global_terms_enabled()) {
        return $term_id;
    }
    // prevent a race condition
    $recurse_start = false;
    if ($global_terms_recurse === null) {
        $recurse_start = true;
        $global_terms_recurse = 1;
    } elseif (10 < $global_terms_recurse++) {
        return $term_id;
    }
    $term_id = intval($term_id);
    $c = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->terms} WHERE term_id = %d", $term_id));
    $global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $c->slug));
    if ($global_id == null) {
        $used_global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE cat_ID = %d", $c->term_id));
        if (null == $used_global_id) {
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $term_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
            if (empty($global_id)) {
                return $term_id;
            }
        } else {
            $max_global_id = $wpdb->get_var("SELECT MAX(cat_ID) FROM {$wpdb->sitecategories}");
            $max_local_id = $wpdb->get_var("SELECT MAX(term_id) FROM {$wpdb->terms}");
            $new_global_id = max($max_global_id, $max_local_id) + mt_rand(100, 400);
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $new_global_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
        }
    } elseif ($global_id != $term_id) {
        $local_id = $wpdb->get_var($wpdb->prepare("SELECT term_id FROM {$wpdb->terms} WHERE term_id = %d", $global_id));
        if (null != $local_id) {
            global_terms($local_id);
            if (10 < $global_terms_recurse) {
                $global_id = $term_id;
            }
        }
    }
    if ($global_id != $term_id) {
        if (get_option('default_category') == $term_id) {
            update_option('default_category', $global_id);
        }
        $wpdb->update($wpdb->terms, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('parent' => $global_id), array('parent' => $term_id));
        clean_term_cache($term_id);
    }
    if ($recurse_start) {
        $global_terms_recurse = null;
    }
    return $global_id;
}

WordPress Version: 4.3

/**
 * Maintains a canonical list of terms by syncing terms created for each blog with the global terms table.
 *
 * @since 3.0.0
 *
 * @see term_id_filter
 *
 * @global wpdb $wpdb
 * @staticvar int $global_terms_recurse
 *
 * @param int $term_id An ID for a term on the current blog.
 * @return int An ID from the global terms table mapped from $term_id.
 */
function global_terms($term_id, $deprecated = '')
{
    global $wpdb;
    static $global_terms_recurse = null;
    if (!global_terms_enabled()) {
        return $term_id;
    }
    // prevent a race condition
    $recurse_start = false;
    if ($global_terms_recurse === null) {
        $recurse_start = true;
        $global_terms_recurse = 1;
    } elseif (10 < $global_terms_recurse++) {
        return $term_id;
    }
    $term_id = intval($term_id);
    $c = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->terms} WHERE term_id = %d", $term_id));
    $global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $c->slug));
    if ($global_id == null) {
        $used_global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE cat_ID = %d", $c->term_id));
        if (null == $used_global_id) {
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $term_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
            if (empty($global_id)) {
                return $term_id;
            }
        } else {
            $max_global_id = $wpdb->get_var("SELECT MAX(cat_ID) FROM {$wpdb->sitecategories}");
            $max_local_id = $wpdb->get_var("SELECT MAX(term_id) FROM {$wpdb->terms}");
            $new_global_id = max($max_global_id, $max_local_id) + mt_rand(100, 400);
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $new_global_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
        }
    } elseif ($global_id != $term_id) {
        $local_id = $wpdb->get_var($wpdb->prepare("SELECT term_id FROM {$wpdb->terms} WHERE term_id = %d", $global_id));
        if (null != $local_id) {
            global_terms($local_id);
            if (10 < $global_terms_recurse) {
                $global_id = $term_id;
            }
        }
    }
    if ($global_id != $term_id) {
        if (get_option('default_category') == $term_id) {
            update_option('default_category', $global_id);
        }
        $wpdb->update($wpdb->terms, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('parent' => $global_id), array('parent' => $term_id));
        clean_term_cache($term_id);
    }
    if ($recurse_start) {
        $global_terms_recurse = null;
    }
    return $global_id;
}

WordPress Version: 4.2

/**
 * Maintains a canonical list of terms by syncing terms created for each blog with the global terms table.
 *
 * @since 3.0.0
 *
 * @see term_id_filter
 *
 * @param int $term_id An ID for a term on the current blog.
 * @return int An ID from the global terms table mapped from $term_id.
 */
function global_terms($term_id, $deprecated = '')
{
    global $wpdb;
    static $global_terms_recurse = null;
    if (!global_terms_enabled()) {
        return $term_id;
    }
    // prevent a race condition
    $recurse_start = false;
    if ($global_terms_recurse === null) {
        $recurse_start = true;
        $global_terms_recurse = 1;
    } elseif (10 < $global_terms_recurse++) {
        return $term_id;
    }
    $term_id = intval($term_id);
    $c = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->terms} WHERE term_id = %d", $term_id));
    $global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $c->slug));
    if ($global_id == null) {
        $used_global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE cat_ID = %d", $c->term_id));
        if (null == $used_global_id) {
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $term_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
            if (empty($global_id)) {
                return $term_id;
            }
        } else {
            $max_global_id = $wpdb->get_var("SELECT MAX(cat_ID) FROM {$wpdb->sitecategories}");
            $max_local_id = $wpdb->get_var("SELECT MAX(term_id) FROM {$wpdb->terms}");
            $new_global_id = max($max_global_id, $max_local_id) + mt_rand(100, 400);
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $new_global_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
        }
    } elseif ($global_id != $term_id) {
        $local_id = $wpdb->get_var($wpdb->prepare("SELECT term_id FROM {$wpdb->terms} WHERE term_id = %d", $global_id));
        if (null != $local_id) {
            global_terms($local_id);
            if (10 < $global_terms_recurse) {
                $global_id = $term_id;
            }
        }
    }
    if ($global_id != $term_id) {
        if (get_option('default_category') == $term_id) {
            update_option('default_category', $global_id);
        }
        $wpdb->update($wpdb->terms, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('parent' => $global_id), array('parent' => $term_id));
        clean_term_cache($term_id);
    }
    if ($recurse_start) {
        $global_terms_recurse = null;
    }
    return $global_id;
}

WordPress Version: 3.7

/**
 * Maintains a canonical list of terms by syncing terms created for each blog with the global terms table.
 *
 * @since 3.0.0
 *
 * @see term_id_filter
 *
 * @param int $term_id An ID for a term on the current blog.
 * @return int An ID from the global terms table mapped from $term_id.
 */
function global_terms($term_id, $deprecated = '')
{
    global $wpdb;
    static $global_terms_recurse = null;
    if (!global_terms_enabled()) {
        return $term_id;
    }
    // prevent a race condition
    $recurse_start = false;
    if ($global_terms_recurse === null) {
        $recurse_start = true;
        $global_terms_recurse = 1;
    } elseif (10 < $global_terms_recurse++) {
        return $term_id;
    }
    $term_id = intval($term_id);
    $c = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->terms} WHERE term_id = %d", $term_id));
    $global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $c->slug));
    if ($global_id == null) {
        $used_global_id = $wpdb->get_var($wpdb->prepare("SELECT cat_ID FROM {$wpdb->sitecategories} WHERE cat_ID = %d", $c->term_id));
        if (null == $used_global_id) {
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $term_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
            if (empty($global_id)) {
                return $term_id;
            }
        } else {
            $max_global_id = $wpdb->get_var("SELECT MAX(cat_ID) FROM {$wpdb->sitecategories}");
            $max_local_id = $wpdb->get_var("SELECT MAX(term_id) FROM {$wpdb->terms}");
            $new_global_id = max($max_global_id, $max_local_id) + mt_rand(100, 400);
            $wpdb->insert($wpdb->sitecategories, array('cat_ID' => $new_global_id, 'cat_name' => $c->name, 'category_nicename' => $c->slug));
            $global_id = $wpdb->insert_id;
        }
    } elseif ($global_id != $term_id) {
        $local_id = $wpdb->get_row($wpdb->prepare("SELECT term_id FROM {$wpdb->terms} WHERE term_id = %d", $global_id));
        if (null != $local_id) {
            $local_id = global_terms($local_id);
        }
        if (10 < $global_terms_recurse) {
            $global_id = $term_id;
        }
    }
    if ($global_id != $term_id) {
        if (get_option('default_category') == $term_id) {
            update_option('default_category', $global_id);
        }
        $wpdb->update($wpdb->terms, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('term_id' => $global_id), array('term_id' => $term_id));
        $wpdb->update($wpdb->term_taxonomy, array('parent' => $global_id), array('parent' => $term_id));
        clean_term_cache($term_id);
    }
    if ($recurse_start) {
        $global_terms_recurse = null;
    }
    return $global_id;
}