成功将Sablog-X数据导入Wordpress
数据库修复中,部分文章可能暂时无法阅读。
在这里首先要感谢YanChenguang大哥的sablog-x1.6到WordPress2.3.2数据转换程序;
经验证同样适用于目前的最新版本Wordpress 2.5。
<?php
/**
* 使用说明,请务必阅读:
* 将sablog-x(1.6)的数据导入 wordpress(2.3.2)数据库
*
* 此文件运行的前提条件:
* 1、本程序需要放在wordpress目录wp-admin下
* 1、sablog-x数据库和wordpress数据库最好放在同一台MySQL服务器上
* 2、wordpress的表已经建好,并且没有有用的数据
*
* 按要求放置好程序并做好准备以后,请在浏览器里运行 :http://yourblogurl/wp-admin/sablogx1.6towp2.3.2.php
* 如果您的文章数比较多,请耐心等待,直到页面出现 "Finish!" 字样,即为转换成功。
*
* 此外:本程序只会对文章、分类、友情链接和评论进行转换,但不会转换用户,所以请另行添加用户数据
*
* Author: Kedy (http://www.kedy.cn QQ:49268533 YanChenguang@gmail.com)
* Date : 2008-01-14
**/
//saglog-x数据库设置
$sax_db_host = 'localhost'; //数据库主机
$sax_db_user = 'root'; //数据库用户名
$sax_db_pass = ''; //数据库密码
$sax_db_name = 'blog'; //数据库名
$sax_db_prefix = 'sl_'; //sablog-x数据库表前缀
$sax_db_charset = 'utf8';
set_time_limit(0);
$sax_db_lnk = mysql_connect($sax_db_host, $sax_db_user, $sax_db_pass);
mysql_select_db($sax_db_name, $sax_db_lnk);
mysql_query('SET NAMES '. $sax_db_charset);
//处理分类
//cid name displayorder articles
$sql = "SELECT * FROM {$sax_db_prefix}categories";
$query = mysql_query($sql);
$categories = array();
while($arr = mysql_fetch_array($query, MYSQL_ASSOC)){
$categories[$arr['cid']] = $arr;
}
//处理文章
$sql = "SELECT * FROM {$sax_db_prefix}articles";
$query = mysql_query($sql);
$articles = array();
while($arr = mysql_fetch_array($query, MYSQL_ASSOC)){
$articles[$arr['articleid']] = $arr;
}
//处理链接
$sql = "SELECT * FROM {$sax_db_prefix}links";
$query = mysql_query($sql);
$links = array();
while($arr = mysql_fetch_array($query, MYSQL_ASSOC)){
$links[$arr['linkid']] = $arr;
}
//处理评论
$sql = "SELECT * FROM {$sax_db_prefix}comments";
$query = mysql_query($sql);
$comments = array();
while($arr = mysql_fetch_array($query, MYSQL_ASSOC)){
$comments[$arr['commentid']] = $arr;
}
require('admin.php');
foreach($categories as $cid => $val){
$_data = array();
$_data['category_parent'] = '-1';
$_data['category_description'] = $val['name'];
$_data['cat_name'] = $val['name'];
$new_cat_id = wp_insert_category($_data);
$categories[$cid]['new_cid'] = $new_cat_id;
}
foreach($articles as $aid => $article){
$arr = $article;
$_tmp_time = date('Y-n-j-H-i-s', $arr['dateline']);
list($arr['aa'], $arr['mm'], $arr['jj'], $arr['hh'], $arr['mn'], $arr['ss']) = explode('-', $_tmp_time);
$arr['edit_date'] = 1;
$arr['user_ID'] = $arr['uid'];
$arr['post_content'] = $arr['content'];
$arr['post_title'] = $arr['title'];
$arr['post_pingback'] = $arr['closetrackback'];
$arr['post_category'] = array($categories[$arr['cid']]['new_cid']);
$arr['tags_input'] = $arr['keywords'];
$arr['post_type'] = 'post';
$arr['post_status'] = $arr['visible'] == 1 ? 'publish' : 'draft';
$arr['comment_status'] = $arr['closecomment'] == 0 ? 'open' : 'close';
$arr['ping_status'] = $arr['closetrackback'] == 0 ? 'open' : 'close';
$arr['post_password'] = $arr['readpassword'];
$user_ID = $arr['uid'];
$_POST = $arr;
$ret = wp_write_post();
$articles[$arr['articleid']]['new_articleid'] = $ret;
}
foreach($links as $linkid => $linkdata){
$_data = array();
$_data['link_category'] = array(2);
$_data['link_visible'] = 'Y';
$_data['link_name'] = $linkdata['name'];
$_data['link_url'] = $linkdata['url'];
$_data['link_description'] = $linkdata['note'];
wp_insert_link($_data);
}
require_once('../wp-includes/comment.php');
foreach($comments as $cmtid => $cmtdata){
$_data = array();
$user_ID = 0;
$comment_post_ID = $articles[$cmtdata['articleid']]['new_articleid'];
$comment_author = $cmtdata['author'];
if(strpos($cmtdata['url'], '@')){
$comment_author_email = $cmtdata['url'];
$comment_author_url = '';
}else{
$comment_author_url = $cmtdata['url'];
$comment_author_email = '';
}
$comment_content = $cmtdata['content'];
$comment_type = '';
$commentdata['comment_author_IP'] = preg_replace( '/[^0-9., ]/', '', $cmtdata['ipaddress']);
$commentdata['comment_agent'] = $_SERVER['HTTP_USER_AGENT'];
$commentdata['comment_date'] = $cmtdata['dateline'];
$commentdata['comment_date_gmt'] = $cmtdata['dateline'];
$comment_author_email = $cmtdata['author'];
$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'user_ID');
$comment_ID = wp_insert_comment($commentdata);
}
echo 'Finish!';
?>
【 对不起,这篇文章暂时还没有其他的关联文章。】

我说谁的FEED一下子更新这么多···
原来是你这里 - -
[回复该评论]
[回复该评论]