diff --git a/wp-includes/taxonomy.php b/wp-includes/taxonomy.php index 50ed17dd89..9eb9c43cd2 100644 --- a/wp-includes/taxonomy.php +++ b/wp-includes/taxonomy.php @@ -165,6 +165,10 @@ function wp_delete_term( $term, $taxonomy, $args = array() ) { $wpdb->query("DELETE FROM $wpdb->term_taxonomy WHERE term_taxonomy_id = '$tt_id'"); + // Delete the term if no taxonomies use it. + if ( !$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->term_taxonomy WHERE term_id = '$term'") ) + $wpdb->query("DELETE FROM $wpdb->terms WHERE term_id = '$term'"); + clean_term_cache($term, $taxonomy); do_action("delete_$taxonomy", $term, $tt_id);