您的位置: 网站首页 > 网站网页 > 阅读文章

『原创』PJblog转WordPress – 完美转换(包括评论、留言、会员等所有信息)

  PJblogWordpress

  我的网站已经在昨天全部修改、转换、整合完成。说修改、转换和整合是因为我的经历有所不同,不单单是PJblog转Wordpress那么简单。我先是做了一个全新的Wordpress,把老的PJblog网站置之不理。后来我想把以前旧网站上的文章全部整合进来,可是当时新网站Wordpress上已经有了很多新文章了。我是在这样的前提下进行PJblog转Wordpress的。而且我追求的是完美转换,也就是把PJBlog上所有的东西全部转换、整合过来,保证数据完全正确。具体情况还要复杂得多,你可以去看一下我昨天写的“『开心技术乐园』全新上线!!已完美转换到WordPress!”,这段经历是非常非常痛苦的。


  这篇文章是分享一下我的PJblog转Wordpress的方法和过程。当然因为完美、无缝的转换涉及到了太多太多的东西,我不可能全部写下来的。所以这里主要是给大家一个清晰的思路,或者说起一个抛砖引玉的作用。

  一、文章内容、评论与分类

  这应该是最主要最关键的一步,也是最简单最轻松的一步,为什么?因为网上有现成的PJblog文章内容、评论与分类导出程序。如下图:

PJblog转Wordpress

  用法是把PJblog的数据库改成blog.mdb,然后放到和这个asp2wp.asp文件同目录下,访问asp2wp.asp,点击开始导出PJ数据。过一会儿就会提示你下载一个XML文件,这个等待的过程由你数据库的大小而定。如果数据库较大的话,请耐心等待。打开Wordpress后台,“工具-导入-Wordpress”,如下图:

PJblog转Wordpress

  选择刚才导出的XML文件导入即可!从图片上我们看到WP后台导入最大支持8M的文件,没关系的,网上有工具可以切割XML文件的,去找一下,找不到的向我要。这样,PJblog的文章内容、评论与分类全部导入了。注意,文章标签没有导进去的。

  关于这个小程序,我想大部分PJblog转Wordpress的朋友都在用。这里我强调一点,用我上面写的方法导入的文章会显得比较乱,比如图片、Flash无法显示等问题。怎么办?其实在你导出的那个XML里可以进行一些PJblog的ubb处理函数修改,举个例子:img标签,本来是[img]这样的,你可以批量替换成<img src=”" />的形式。这样就省去了导入后重复修改的麻烦,你日志数少倒没事,如果你有几百篇文章的话就惨了。我就是这种情况,我没有用在XML文件批量替换的方法进行修改,我这个人有时太追求完美了有时候自己也想不通。我把文章导入后,一篇一篇进行修改,重新排版,重新把乱七八糟外链的图片全部下载下来再上传到自己的空间,重新分类,重新整理文件下载链接,重新设置标签,整整452篇文章!!花了我大量的精力与时间,苦不堪言。关于这个过程,大家可以根据自己的情况来做。

  其实很多人做到这一步就满足了,不再继续导来导去了。如果你觉得也够了的话,下面的你就不用看了;如果你跟我一样追求完美,就看我下面怎么一步一步把PJblog的留言、留言回复、会员信息、每篇日志浏览次数等一一导入吧!

  二、留言板及留言回复。

  上面的操作已经把每篇文章对应的评论导入了,可是PJblog不是还有个留言板吗?别告诉我你没有用。我留言板里的留言数不是很多,就三百多条,不过把它们扔掉也太可惜了,有办法当然要把它们也整合进来。我的方法是打开PJ的数据库,打开blog_book表,所有的留言信息都存在张表里。接下来要做的,就是修改表里的字段,必要的那几条改成和Wordpress表wp_comments一样的字段。不必要的那些字段你就全删了吧!举个例子,比如book_ID字段就改成Wordpress里的comment_post_ID字段,去把你Wordpress留言页面的ID去找出来!注意,comment_ID字段不要!因为导入后Wordpres会自动生成!!不然你设了导入的时候还有可能和本来WP里存在的起冲突。改完之后用一款名为DB2SQL的工具把Access里的内容转成SQL语句,如下图:

PJblog转Wordpress

  当然这里我只是做了一个演示,改好字段的那个数据库已经被我删了。打开PHPMyAdmin连接上MySQL,然后把刚才生成的SQL语句执行。这样留言板里的留言就全部导入了。听得懂吗?这一步一定要懂,不然后面的也会不懂。

  已经成功大半了,对大部分人来说已经够了。可是这样不完美,你会发现以前PJblog留言本的留言回复丢光了。要完美的请继续跟着我。想要回复的必须付出更多的劳动。回复的内容在book_reply字段里,把它单独拿出来改成book_Content,就是改得和留言本一样,它是回复内容,和网友的留言的区别就是WP评论表里的comment_parent字段。讲得够细了吧?有点说不太清楚,不懂的给我留言。

  这个过程可能有一点点烦琐,因为是手工一个个修改的。不过就这么一次,以后就不要再这样弄了,从网站长久发展来看,这样做很值得。而且下面会员信息等也是这样改的。关于留言及留言回复转移效果见本站留言区,我07年08年09年的留言回复都是从PJblog中转过来的。

  三、会员信息。

  PJblog会员信息的导入,其实方法和上面的导入留言一样,就是改字段后生成SQL语句执行,这里不再多讲解了。有一点要说明的是,Wordpress里用户密码是通过Portable PHP password hashing framework类产生的,密码的形式是不可逆的。经测试,它并不支持MD5加密算法。所以从PJblog里导过来的会员,根本不能在Wordpress里正常登陆!!没办法,我的做法是初始化导过来的用户密码。我PJblog上有三万七千多名会员,而Wordpress已经里已有五百多名会员,这样就不能一气呵成更改所有的user_pass,我用了如下SQL语句把以前会员的密码初始化成了六个6:
update wp_users set user_pass=”$P$Bs7RGYXhzRVcyf6HIL4mf6TI3DwNKL.” where id between 2 and 37013

  四、文章的浏览次数。

  没什么好说的,方法同上。导入的时候注意文章的浏览次数与文章ID的对应关系,不要搞错了。由于我网站修改一篇篇导进来的文章在近两个月的时间已经积累不少浏览次数,所以我想把以前文章的浏览次数和现在的加在一起。我把导出的INSERT INTO改成了UPDATE,用文本替换SQL语句后变成了形如”update… where…set”, 这样不能执行,又没有找到可用的工具,六一那晚我手工一个个改成“update… set…where”语句,一直改成二点多!

PJblog转Wordpress

  五、表情图片。

  转换成Wordpress后,以前在PJblog评论留言里的表情图片都无法显示了,会显示才怪!关于这一点我中午的时候已经想到了一个绝好的办法,不过还没实践,有时间弄一下。反正这个也不是很重要吧?呵呵~~

  总结,PJblog完美转换Wordpress会涉及到很多很多的东西,有些想想很简单,操作起来却有意想不到的困难。我写这篇文章的主要目的还是想帮助那些打算从PJblog转Wordpress的朋友们。有什么问题尽管在下面留言,能解决的我一定帮忙。毕竟大家都想有一个属于自己的漂亮而又优秀的网站嘛!Wordpress的强大、优秀是有目同睹的。写这篇文章同时也是做个纪念,因为以后不会再改了,有强大的Wordpress做架构,有我自己制作的好看皮肤,没有理由再换了。再见,陪伴了我两年多的PJBLOG!

PJblog转Wordpress

  • 属于分类: 网站网页
  • 本文标签: ,
  • 人气指数: 2,829
  • 文章作者: 野球小子
  • 生产日期: 2010年6月03日 - 21时08分00秒
看看还有没有您感兴趣的:

  1. 九月 10th, 2010 at 17:08 | #1

    遇到很多问题,但不知道怎么联系你。我的qq:23116598 加的时候说是pj转换。
    谢谢了。

    [回复]

  • 您的大名(必填)
  • E-Mail (必填)
  • 您的网站(有的话就写一下吧~)
  • 评论内容:(必填)