Summery Summery
Maintains a canonical list of terms by syncing terms created for each blog with the global terms table.
Syntax Syntax
Parameters Parameters
- $term_id
-
(Required) An ID for a term on the current blog.
- $deprecated
-
(Optional) Not used.
Default value: ''
Return Return
(int) An ID from the global terms table mapped from $term_id.
Source Source
File: wp-includes/ms-functions.php
$user = get_userdata( (int) $user_id ); if ( $user ) { $wpdb->insert( $wpdb->registration_log, array( 'email' => $user->user_email, 'IP' => preg_replace( '/[^0-9., ]/', '', wp_unslash( $_SERVER['REMOTE_ADDR'] ) ), 'blog_id' => $blog_id, 'date_registered' => current_time( 'mysql' ), ) ); } } /** * 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; }
Advertisement
Changelog Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |