[织梦教程] [完整版]织梦Dedecms转wordpress搬家方法教程

[复制链接]
查看1390 | 回复9 | 2018-12-11 20:54:29 | 显示全部楼层 |阅读模式

使用织梦CMS每个月都被黑,打完官方最新补丁不久又有漏洞继续被黑,算是受够了,果断把网站从天杀的dedecms中搬家到wordpress程序,网上搜索转换教程,折腾几个小时,顺利把网站的文章转移到wordpress程序,保留了文章点击数、文章日期、文章分类,文章标签的数据表着实弄不过来,只能放弃!下面是具体的操作方法,操作前请备份好网站数据。

1、DEDECMS文章标题等基本数据导入wordpress站点

织梦CMS的文章标题、正文和栏目分别存放在三个不同的数据表中,而wordpress则把文章标题和正文放在一个数据表,栏目(分类目录)放在另一个数据表中,为了简化后面的工作,第一步是制作生成织梦CMS的全站RSS文件(制作方法:http://www.boke8.net/dedecms-echo-all-post-rss.html),然后通过wordpress程序后台――工具――导入――RSS,上传导入生成的织梦全站RSS文件。

这样就可以使wordpress在wp_posts数据表上生成文章标题,在wp_terms数据表上生成文章分类,并匹配起来,此外通过RSS导入,wp_posts数据表上还导入了文章摘要、日期、自定义网址等数据,但是RSS不会导入全文!

2、导入织梦CMS文章全文到wordpress站点

织梦文章的数据存储在dede_addonarticle数据库的body字段中,现在需要把body字段的内容转到wordpress数据库的wp_posts数据库的post_content字段里。

这个转换需要使用一个桥梁――那就是dede_archives数据表,即dede_addonarticle上body的内容先转到dede_archives上,再从dede_archives转到wp_posts的post_content里。这两次转换的匹配点,分别是织梦里的文章id,以及Wordpress里已经导入了的文章标题(这与织梦里的文章标题是一样的)。

具体的操作步骤如下:

进入phpmyadmin,选择dedecms网站使用的数据库,在SQL输入框中执行以下SQL语句,在织梦数据库的dede_archives表上,添加字段body

1
ALTER TABLE dede_archives ADD body longtext NOT NULL

然后再执行以下SQL语句把dede_addonarticle数据表中的body字段内容导入到dede_archives的body字段,语句以dede_addonarticle的aid和dede_archives的id为匹配点:

1
2
3
UPDATE dede_archives,dede_addonarticle
SET dede_archives.body = dede_addonarticle.body  
WHERE dede_archives.id = dede_addonarticle.aid

接着通过phpmyadmin导出功能把dede_archives数据表导出,然后再通过导入功能把该数据表导入wordpress网站使用的数据库中,使其与wp_posts数据库处在同一个数据库里。

下面再次使用SQL语句把dede_archives的body导入到wp_posts上的post_content上,以文章标题为匹配点(前提是文章标题都是唯一的):

1
2
3
UPDATE wp_posts,dede_archives  
SET wp_posts.post_content = dede_archives.body  
WHERE wp_posts.post_title = dede_archives.title

至此文章内容部分转换完成!

3、织梦CMS文章点击数导入wordpress网站

织梦CMS的文章有点击数(即是文章的阅读数),不导入wordpress怪可惜。

在wordpress上安装Simple Hit Counter插件,启用后数据库里会生成wp_hitcount表,在SQL输入框中执行以下语句在增加hits字段

1
ALTER TABLE wp_posts ADD hits INT(10) NOT NULL

执行以下SQL语句,把dede_archives上的点击数click导入到wp_posts的hits上,仍然以标题为匹配点:

1
2
3
UPDATE wp_posts,dede_archives  
SET wp_posts.hits = dede_archives.click  
WHERE wp_posts.post_title = dede_archives.title

最后执行以下SQL语句把wp_posts的hits导入到wp_hitcount的hits上,这次以wp_posts的ID和wp_hitcount的pid为匹配点:

1
2
3
UPDATE wp_posts,wp_hitcount 
SET wp_hitcount.hits = wp_posts.hits 
WHERE wp_hitcount.pid = wp_posts.ID

至此点击数转换完成,然后在模板中添加Simple Hit Counter插件调用代码即可。

附:我习惯使用wp-postviews插件,所以我是把织梦CMS文章点击数转换为wp-postviews插件的浏览数。但是由于该插件需要文章有浏览数之后才会在数据库中生成meta_key的值,因此需要先在wp_postmeta表中添加对应的meta_key的值。

执行以下SQL语句,把文章ID导入wp_postmeta中的post_id字段:

1
INSERT INTO wp_postmeta(post_id) SELECT ID FROM wp_posts

执行以下SQL语句,把上面添加的post_id中的meta_key字段的null设置为views值:

1
UPDATE wp_postmeta SET meta_key='views' WHERE meta_key IS NULL

执行以下SQL语句,把上面添加的post_id中的meta_value字段的null设置为0值:

1
UPDATE wp_postmeta SET meta_value='0' WHERE meta_value IS NULL

然后再把wp_posts的hits导入到wp_postmeta数据表中的meta_key字段的值views对应的meta_value,SQL语句如下:

1
2
3
UPDATE wp_postmeta,wp_posts 
SET wp_postmeta.meta_value=wp_posts.hits 
WHERE  wp_postmeta.post_id=wp_posts.ID AND meta_key='views'

核心内容转自新客网,博客吧补充修整SQL命令

织梦教程网络上有很多,但没有一个像自由织梦(www.freedede.cn)这样教程比较齐全的,现在好了,学习开发使用织梦dedecms系 统不用东奔西跑了,直接来自由织梦就好了,提供织梦cms详细的使用教程和织梦建站教程,包括dedecsm的安装、模板开发教程、安 全配置等,DedeCMS从入门到精通建站就是如此轻松。
回复

使用道具 举报

雷JY | 2020-12-28 15:41:30 | 显示全部楼层
站长真良心,这么大的资源站都是免费下载
回复

使用道具 举报

123457753 | 2020-12-30 16:33:11 | 显示全部楼层
找了好多地方,终于找到了
回复

使用道具 举报

云端午节 | 2021-8-7 02:11:50 | 显示全部楼层
有情怀的站啊,爱了
回复

使用道具 举报

分裂的硬盘悔 | 2022-6-2 19:10:27 | 显示全部楼层
这个资源都有真不错
回复

使用道具 举报

和你相伴1 | 2023-1-26 15:17:32 | 显示全部楼层
6666悟空源码资源多!
回复

使用道具 举报

光荣与梦想483 | 2023-4-26 08:32:43 | 显示全部楼层
5kym.cn这个站资源太全了
回复

使用道具 举报

昀离936 | 2023-5-18 04:51:12 | 显示全部楼层
祝愿悟空源码越办越好!
回复

使用道具 举报

123457033 | 2023-10-15 06:20:18 | 显示全部楼层
找了好多地方,终于找到了
回复

使用道具 举报

凌8乱 | 2024-3-7 21:10:03 | 显示全部楼层
找了很多地方都不能下载,终于在悟空源码找到了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则