Advertisements

upgrade_100

Definition:
function upgrade_100() {}

Execute changes made in WordPress 1.0.

Source code

function upgrade_100() {

	global $wpdb;



	// Get the title and ID of every post, post_name to check if it already has a value

	$posts = $wpdb->get_results("SELECT ID, post_title, post_name FROM $wpdb->posts WHERE post_name = ''");

	if ($posts) {

		foreach($posts as $post) {

			if ('' == $post->post_name) {

				$newtitle = sanitize_title($post->post_title);

				$wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_name = %s WHERE ID = %d", $newtitle, $post->ID) );

			}

		}

	}



	$categories = $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename FROM $wpdb->categories");

	foreach ($categories as $category) {

		if ('' == $category->category_nicename) {

			$newtitle = sanitize_title($category->cat_name);

			$wpdb>update( $wpdb->categories, array('category_nicename' => $newtitle), array('cat_ID' => $category->cat_ID) );

		}

	}



	$wpdb->query("UPDATE $wpdb->options SET option_value = REPLACE(option_value, 'wp-links/links-images/', 'wp-images/links/')

	WHERE option_name LIKE 'links_rating_image%'

	AND option_value LIKE 'wp-links/links-images/%'");



	$done_ids = $wpdb->get_results("SELECT DISTINCT post_id FROM $wpdb->post2cat");

	if ($done_ids) :

		foreach ($done_ids as $done_id) :

			$done_posts[] = $done_id->post_id;

		endforeach;

		$catwhere = ' AND ID NOT IN (' . implode(',', $done_posts) . ')';

	else:

		$catwhere = '';

	endif;



	$allposts = $wpdb->get_results("SELECT ID, post_category FROM $wpdb->posts WHERE post_category != '0' $catwhere");

	if ($allposts) :

		foreach ($allposts as $post) {

			// Check to see if it's already been imported

			$cat = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->post2cat WHERE post_id = %d AND category_id = %d", $post->ID, $post->post_category) );

			if (!$cat && 0 != $post->post_category) { // If there's no result

				$wpdb->insert( $wpdb->post2cat, array('post_id' => $post->ID, 'category_id' => $post->post_category) );

			}

		}

	endif;

}

3219

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: