blob: d8c7c8c27fbba65766297310c166f96166b4c8dd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<?php
function global_categories( $cat_ID ) {
global $wpdb;
$cat_ID = intval( $cat_ID );
$c = $wpdb->get_row( "SELECT * FROM $wpdb->categories WHERE cat_ID = '$cat_ID'" );
$global_category = $wpdb->get_row( "SELECT * FROM $wpdb->sitecategories WHERE category_nicename = '" . $wpdb->escape( $c->category_nicename ) . "'" );
if ( $global_category ) {
$global_id = $global_category->cat_ID;
} else {
$wpdb->query( "INSERT INTO $wpdb->sitecategories ( cat_name, category_nicename ) VALUES ( '" . $wpdb->escape( $c->cat_name ) . "', '" . $wpdb->escape( $c->category_nicename ) . "' )" );
$global_id = $wpdb->insert_id;
}
$wpdb->query( "UPDATE $wpdb->categories SET cat_ID = '$global_id' WHERE cat_id = '$cat_ID'" );
$wpdb->query( "UPDATE $wpdb->categories SET category_parent = '$global_id' WHERE category_parent = '$cat_ID'" );
$wpdb->query( "UPDATE $wpdb->post2cat SET category_id = '$global_id' WHERE category_id = '$cat_ID'" );
$wpdb->query( "UPDATE $wpdb->link2cat SET category_id = '$global_id' WHERE category_id = '$cat_ID'" );
wp_cache_delete($cat_ID, 'category');
wp_cache_delete($global_id, 'category');
wp_cache_delete('all_category_ids', 'category');
do_action('update_cat_id', $global_id, $cat_ID);
return $global_id;
}
add_filter( 'cat_id_filter', 'global_categories' );
?>
|