upgrade_230() – Execute changes made in WordPress 2.3.

You appear to be a bot. Output may be restricted

Description

Execute changes made in WordPress 2.3.

Usage

upgrade_230();

Parameters

Returns

void

Source

File name: wordpress/wp-admin/includes/upgrade.php
Lines:

1 to 100 of 217
function upgrade_230() {
  global $wp_current_db_version, $wpdb;

  if ( $wp_current_db_version < 5200 ) {
    populate_roles_230();
  }

  // Convert categories to terms.
  $tt_ids     = array();
  $have_tags  = false;
  $categories = $wpdb->get_results( "SELECT * FROM $wpdb->categories ORDER BY cat_ID" );
  foreach ( $categories as $category ) {
    $term_id     = (int) $category->cat_ID;
    $name        = $category->cat_name;
    $description = $category->category_description;
    $slug        = $category->category_nicename;
    $parent      = $category->category_parent;
    $term_group  = 0;

    // Associate terms with the same slug in a term group and make slugs unique.
    $exists = $wpdb->get_results( $wpdb->prepare( "SELECT term_id, term_group FROM $wpdb->terms WHERE slug = %s", $slug ) );
    if ( $exists ) {
      $term_group = $exists[0]->term_group;
      $id         = $exists[0]->term_id;
      $num        = 2;
      do {
        $alt_slug = $slug . "-$num";
        $num++;
        $slug_check = $wpdb->get_var( $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s", $alt_slug ) );
      } while ( $slug_check );

      $slug = $alt_slug;

      if ( empty( $term_group ) ) {
        $term_group = $wpdb->get_var( "SELECT MAX(term_group) FROM $wpdb->terms GROUP BY term_group" ) + 1;
        $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->terms SET term_group = %d WHERE term_id = %d", $term_group, $id ) );
      }
    }

    $wpdb->query(
      $wpdb->prepare(
        "INSERT INTO $wpdb->terms (term_id, name, slug, term_group) VALUES
		(%d, %s, %s, %d)",
        $term_id,
        $name,
        $slug,
        $term_group
      )
    );

    $count = 0;
    if ( ! empty( $category->category_count ) ) {
      $count    = (int) $category->category_count;
      $taxonomy = 'category';
      $wpdb->query( $wpdb->prepare( "INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ( %d, %s, %s, %d, %d)", $term_id, $taxonomy, $description, $parent, $count ) );
      $tt_ids[ $term_id ][ $taxonomy ] = (int) $wpdb->insert_id;
    }

    if ( ! empty( $category->link_count ) ) {
      $count    = (int) $category->link_count;
      $taxonomy = 'link_category';
      $wpdb->query( $wpdb->prepare( "INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ( %d, %s, %s, %d, %d)", $term_id, $taxonomy, $description, $parent, $count ) );
      $tt_ids[ $term_id ][ $taxonomy ] = (int) $wpdb->insert_id;
    }

    if ( ! empty( $category->tag_count ) ) {
      $have_tags = true;
      $count     = (int) $category->tag_count;
      $taxonomy  = 'post_tag';
      $wpdb->insert( $wpdb->term_taxonomy, compact( 'term_id', 'taxonomy', 'description', 'parent', 'count' ) );
      $tt_ids[ $term_id ][ $taxonomy ] = (int) $wpdb->insert_id;
    }

    if ( empty( $count ) ) {
      $count    = 0;
      $taxonomy = 'category';
      $wpdb->insert( $wpdb->term_taxonomy, compact( 'term_id', 'taxonomy', 'description', 'parent', 'count' ) );
      $tt_ids[ $term_id ][ $taxonomy ] = (int) $wpdb->insert_id;
    }
  }

  $select = 'post_id, category_id';
  if ( $have_tags ) {
    $select .= ', rel_type';
  }

  $posts = $wpdb->get_results( "SELECT $select FROM $wpdb->post2cat GROUP BY post_id, category_id" );
  foreach ( $posts as $post ) {
    $post_id  = (int) $post->post_id;
    $term_id  = (int) $post->category_id;
    $taxonomy = 'category';
    if ( ! empty( $post->rel_type ) && 'tag' === $post->rel_type ) {
      $taxonomy = 'tag';
    }
    $tt_id = $tt_ids[ $term_id ][ $taxonomy ];
    if ( empty( $tt_id ) ) {
      continue;
    }

    $wpdb->insert(
 

 View on GitHub View on Trac