From e15b5fd1fadca3219cdbc2fcd3c5e91ed441c79a Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Thu, 6 Sep 2007 22:56:03 +0000 Subject: [PATCH] Fix term count calculation during upgrade. fixes #4922 git-svn-id: https://develop.svn.wordpress.org/trunk@6051 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/includes/upgrade.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/wp-admin/includes/upgrade.php b/wp-admin/includes/upgrade.php index b188499ad6..6780a6bcb5 100644 --- a/wp-admin/includes/upgrade.php +++ b/wp-admin/includes/upgrade.php @@ -673,10 +673,13 @@ function upgrade_230() { } // Recalculate all counts - $terms = $wpdb->get_col("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy"); + $terms = $wpdb->get_results("SELECT term_taxonomy_id, taxonomy FROM $wpdb->term_taxonomy"); foreach ( (array) $terms as $term ) { - $count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id = '$term'"); - $wpdb->query("UPDATE $wpdb->term_taxonomy SET count = '$count' WHERE term_taxonomy_id = '$term'"); + if ( ('post_tag' == $term->taxonomy) || ('category' == $term->taxonomy) ) + $count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->term_relationships, $wpdb->posts WHERE $wpdb->posts.ID = $wpdb->term_relationships.object_id AND post_status = 'publish' AND post_type = 'post' AND term_taxonomy_id = '$term->term_taxonomy_id'"); + else + $count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id = '$term->term_taxonomy_id'"); + $wpdb->query("UPDATE $wpdb->term_taxonomy SET count = '$count' WHERE term_taxonomy_id = '$term->term_taxonomy_id'"); } }