From d4cefda5182c08077dfbdad6682a0cb78e4f5a8c Mon Sep 17 00:00:00 2001 From: ryan Date: Mon, 8 Oct 2007 22:39:20 +0000 Subject: [PATCH] Add some cache clearing to cat to tag converter. git-svn-id: http://svn.automattic.com/wordpress/trunk@6206 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/import/wp-cat2tag.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/wp-admin/import/wp-cat2tag.php b/wp-admin/import/wp-cat2tag.php index ee4104e41a..4402ad272b 100644 --- a/wp-admin/import/wp-cat2tag.php +++ b/wp-admin/import/wp-cat2tag.php @@ -140,11 +140,23 @@ class WP_Categories_to_Tags { foreach ( $posts as $post ) { if ( !$wpdb->get_var("SELECT object_id FROM $wpdb->term_relationships WHERE object_id = '$post' AND term_taxonomy_id = '$id'") ) $wpdb->query("INSERT INTO $wpdb->term_relationships (object_id, term_taxonomy_id) VALUES ('$post', '$id')"); + clean_post_cache($post); } } else { + $tt_ids = $wpdb->get_col("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE term_id = '{$category->term_id}' AND taxonomy = 'category'"); + if ( $tt_ids ) { + $posts = $wpdb->get_col("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id IN (" . join(',', $tt_ids) . ") GROUP BY object_id"); + foreach ( (array) $posts as $post ) + clean_post_cache($post); + } + // Change the category to a tag. $wpdb->query("UPDATE $wpdb->term_taxonomy SET taxonomy = 'post_tag' WHERE term_id = '{$category->term_id}' AND taxonomy = 'category'"); + $terms = $wpdb->get_col("SELECT term_id FROM $wpdb->term_taxonomy WHERE parent = '{$category->term_id}' AND taxonomy = 'category'"); + foreach ( (array) $terms as $term ) + clean_category_cache($term); + // Set all parents to 0 (root-level) if their parent was the converted tag $wpdb->query("UPDATE $wpdb->term_taxonomy SET parent = 0 WHERE parent = '{$category->term_id}' AND taxonomy = 'category'"); }