织梦dedecms模板网开始做好模板网站时用的是wordpress,而不是织梦。并且为了学习wordpress模板制作,还花了300大洋,虽说当时勉强可以做wordpress的模板了,但由于wordpress的模板是php编辑的,所以如果要想熟练的制作wordpress的模板,除了会网站制作的基础知识html以外,还要学会php编程。要学会并熟练一门动态编程语言是需要耗费时间的。而织梦dedecms的后台管理很简单方便,并且织梦模板用的基本上只有html、div+css,其他动态语言用的很少。
所以织梦dedecms模板网就把好模板网站改成了织梦cms,现在使用织梦已经1年半的时间了,已经能熟练控制织梦了,同时也发现了问题。例如,织梦没有定时发布功能,如果要做织梦插件或织梦后台二次开发还是要用到php。这时我就有了学习php的想法,并且又了要不要把好模板网站转换成wordpress的想法。
虽然wordpress是博客系统,但其操作简单,可用免费资源多,有利于SEO,并且如果做wordpress的模板,有利于php的实践。所以就找了一下织梦dedecms转换wordpress的教程。下面是从网上找的教程,分享给大家。
教程正式开始:
首页dedecms制作全站rss。去http://pan.baidu.com/share/link?shareid=1276123636&uk=202706418下载文件里面有详细的教程,制作完全站rss后,要修改下rss.htm,教程里的文件里有这句代码{dede:arclist row='100' col='1' titlelen='100' orderby='pubdate'}。row=100。首先查看自己的dedecms的文章看大约总共多少条。r0w的数值一定要比你的文章数大或者相等,不然导入数据的时候会有数据未导入。制作好全站rss后,下载网站的rss数据,http://你的dedecms域名/rss.php。将dedecmsrss下载下来后,需要改几个地方。为了测试我开了两个网站测试,www.diaoyudiao.org是dedecms网站,www.diaosinanshi2.com是wordpress测试网站。打开rss.php文件将<rss version="2.0">换成
<rss version="2.0"
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:wp="http://wordpress.org/export/1.2/"
>。然后在
你的<language>zh-cn</language>下面加上wxr的版本号
<wp:wxr_version>1.2</wp:wxr_version>。这个版本号,对于这个版本号本人没研究。如果你想知道的话就点击
下载导出的文件里就有版本号。我wordpress用的最新的版本号1.2。rss.php先暂时告一段落,开始折腾wordpress。wordpress安装好后清空wp_posts里的所有的记录。至于为什么这么做你先照做就是了。后面给给你解释的。删除记录后。改下wp_posts下的id字段递增的初始值,更改的方法可以用各种mysql工具,也可以直接改sql文件。找到sql文件里类似这样的一段代码
DROP TABLE IF EXISTS `wp_posts`; CREATE TABLE `wp_posts` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_content` longtext NOT NULL, `post_title` text NOT NULL, `post_excerpt` text NOT NULL, `post_status` varchar(20) NOT NULL DEFAULT 'publish', `comment_status` varchar(20) NOT NULL DEFAULT 'open', `ping_status` varchar(20) NOT NULL DEFAULT 'open', `post_password` varchar(20) NOT NULL DEFAULT '', `post_name` varchar(200) NOT NULL DEFAULT '', `to_ping` text NOT NULL, `pinged` text NOT NULL, `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_content_filtered` longtext NOT NULL, `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0', `guid` varchar(255) NOT NULL DEFAULT '', `menu_order` int(11) NOT NULL DEFAULT '0', `post_type` varchar(20) NOT NULL DEFAULT 'post', `post_mime_type` varchar(100) NOT NULL DEFAULT '', `comment_count` bigint(20) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `post_name` (`post_name`), KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), KEY `post_parent` (`post_parent`), KEY `post_author` (`post_author`) ) ENGINE=MyISAM AUTO_INCREMENT=84 DEFAULT CHARSET=utf8;将最后这句的auto—increament=84 。84的数值是多少,是有你dedecms文章的id的数值决定的。看你文章的最大id是多少。然后auro—increment的数值一定要大于你dedecms文章最大的id的数值。不然会出错。然后在你的Wordpress里创建你原dedecms 的目录我原网站。创建好后
将内容导出去。我文件是这样的。
将类似 <wp:category><wp:term_id>1</wp:term_id><wp:category_nicename>wangzhan</wp:category_nicename><wp:category_parent></wp:category_parent><wp:cat_name><![CDATA[网站]]></wp:cat_name></wp:category>分类代码复制到你rss.php下、这是我rss.php
复制过去后。然后在你每个item里将<category>网站</category>换成Wordpress目录形式。
<category domain="category" nicename="wangzhan"><![CDATA[网站]]></category>。换完后在后面添加<wp:post_type>post</wp:post_type> 这是文章类型。亲目录不要光复制我的奥。看自己的分类是什么就写什么。记住是每个item都要改的。亲用文本工具什么word之类的替换的吧,开始导入rss.php。
选择倒数第二个wordpress第一次用的话得安装。安装点击下就ok了。
导入中遇到什么问题找我私聊。这里就不多说了。导入后的效果
到现在这步我们已经成功导入文章的标题了。
下一步导入文章的内容。
2. 文章全文导入织梦数据库的文章全文储存在dede_addonarticle表上的body里,我们要把这个body的内容转到Worpress数据库里wp_posts表上的post_content里。
这个转换,需要使用一个桥梁——那就是dede_archives,即dede_addonarticle上body的内容先转到dede_archives上,再从dede_archives上再转到wp_posts上的post_content里。这两次转换的匹配点,分别是织梦里的文章id,以及Wordpress里已经导入了的文章标题(这与织梦里的文章标题是一样的)。
具体步骤如下:
进入phpMyAdmin,在织梦数据库里的dede_archives表上,添加一个列,命名为body,然后用UPDATE命令把dede_addonarticle上的全文(body)导入到dede_archives的body上,以dede_addonarticle上的aid和dede_archives上的id为匹配点:
1 UPDATE `dede_archives`,`dede_addonarticle`
2 SET `dede_archives`.`body`= `dede_addonarticle`.`body`
3 WHERE `dede_archives`.`id` = `dede_addonarticle`.`aid` 。执行完后将dede_archives备份下来导入到wordpress的数据库中。接下来把整个dede_archives表导入到WordPress的数据库上,使其与wp_posts同在一个数据库下。再次使用UPDATE命令把,把dede_archives上的body导入到wp_posts上的post_content上,以文章标题为匹配点 (前提是,你的文章标题都是唯一的):
3 UPDATE `wp_posts`,`dede_archives`
3 SET `wp_posts`.`post_content`= `dede_archives`.`body`
3 WHERE `wp_posts`.`post_title` = `dede_archives`.`title` 执行此语句后正常的话dedecms里的文章已经成功导入。
可以去我测试网站www.diaosinanshi2.com看看测试效果的。文章虽然出来了有朋友问但图片挂了。亲看下图片地址。直接将dedecms的uploads目录放到wordpress根目录就好了。以上内容都可以在网上找到参考。以下内容是网上没有的请仔细看。
文章虽然都搬过去了。但是地址不对,要是做了好几年的网站,一下子网站内容地址都改了这不就悲催了吗。不扯了直入正题。
在dede—archives里创建个字段 字段名称test类型什么和id一样。
然后将id的内容导入到test字段里面update dede_archives set test=id
最后导出dede_archives ,将dede_archives.导入到wordpress中。
最后执行
UPDATE `wp_posts`,`dede_archives`
SET `wp_posts`.`ID`= `dede_archives`.`test`
WHERE `wp_posts`.`post_title` = `dede_archives`.`title`这段代码。这段代码的意思是将test的值传给ID。
文章已经解决尾声。安装WP No Category Base插件。将固定链接改成。/%category%/%post_id%.html这样文章地址已经保持一致。
虽然天朝不在乎版权。亲我手敲了两个多小时写出来的。亲复制粘贴的时候转载的时候挂上本文链接不然我转个圈圈诅咒你。 还有就是目前我www.diaosinanshi2.com的网站没做伪静态所以打开文章链接是404.亲看教程自己折腾的吧。
还有就是可能有看到教程有的地方啰嗦什么的。
|