echo "完成所有文件更新!";
我们很多有在使用 DedeCMS 织梦程序的站长是不是在纠结,可能遭受来自官方的版权索赔问题。有些朋友在考虑将程序转型数据到 WordPress,这里网上也有一些教程。这里唯一的前提是我们需要将已有的 DedeCMS 数据导出到 RSS 文件,毕竟文章数据才是最重要的。在这篇文章中,我们将会简单的分享从织梦 DedeCMS 程序转换到 WordPress 程序的过程,其中包含我们的数据全部迁移回来到新的 WordPress 程序。只能说这个办法对于一般的数据内容可能还是有用的,如果对于自定义功能复杂,而且也有用到二次开发的其他的 DEDECMS 插件功能的,可能不能全部复原。
我们在转移转换程序之前,一定要做好数据备份,或者我们本地转移后成功然后在恢复到服务器。我们就一起来看看,织梦 DEDECMS 制作 RSS 文件输出全站数据的过程,这里为后面转移移植到 WordPress 做准备。
section
这里我们在 DEDECMS 目录的 DEDE 目录找到 "makehtml_rss_action.php"
这里我们找到:
echo "完成所有文件更新!";
如上图所示,然后在下面添加:
echo "<a href='/rss.xml' target='_blank' rel="noopener">浏览…</a>";
这个的目的是在生成 rss.xml 文件后方便点击查看生成结果。
这里我们找到 include 文件夹下找到"arc.rssview.class.php"文件,并对其进行编辑,找到代码:
$murl = $GLOBALS['cfg_cmspath']."/data/rss/".$this->TypeID.".xml";
修改成:
$murl = $GLOBALS['cfg_cmspath']."/rss.xml";
我们的目的是修改生成的 rss.xml 文件路径,让该文件保存在网站根目录。
然后我们继续找到:
$orwhere .= " AND (arc.typeid in (".GetSonIds($this->TypeID,$this->TypeFields['channeltype']).") ) ";
删除这一行。或者我们直接注释。
我们可以登录 DEDECMS 后台,找到【生成】-【更新 RSS 文件】,"单个类目最大记录数"改为全站的文章数量,然后点击"开始更新",更新完成后,网站根目录下会生成一个全站 rss.xml 文件,可通过 http://网站域名/rss.xml 查看。
如果报错怎么办?
如果我们在生成 DEDECMS RSS 文件的时候,rss.xml 文件有错误,在根目录下的 templets 文件夹中的 plus 文件夹里找到 rss.htm 文件,对其进行编辑,找到代码:
<description><![CDATA[[field:description function='html2text(@me)'/]]]></description>
修成:
<description><![CDATA[[field:description/]]]></description>
然后我们再生成试试看。生成完毕 RSS 文件,后面我们需要送到导入到 WordPress 程序。
section
我们已经成功的导出了 DedeCMS 的文章和分类信息,并且保存了 URL 链接结构不变的 RSS 文件,下面我们来讲下怎么把这个 RSS 导入到 WordPress 系统里。
这里我们准备好 RSS 文件。我们将 DedeCMS 程序中的文章及标题等到处到 RSS 后迁移到 WordPress 中。
这里我们可以看到【工具】-【RSS】进行安装后导入。
导入的时候注意几个问题,我们需要编码一致。比如我们需要同意 UTF-8,如果不是需要转换。
织梦文章的数据存储在 dede_addonarticle 数据库的 body 字段中,现在需要把 body 字段的内容转到 wordpress 数据库的 wp_posts 数据库的 post_content 字段里。我们需要将 dede_addonarticle 上 body 的内容先转到 dede_archives 上,再从 dede_archives 转到 wp_posts 的 post_content 里。
1、添加字段
在 DEDECMS 数据库中添加。
ALTER TABLE dede_archives ADD body longtext NOT NULL
然后再执行以下 SQL 语句把 dede_addonarticle 数据表中的 body 字段内容导入到 dede_archives 的 body 字段,语句以 dede_addonarticle 的 aid 和 dede_archives 的 id 为匹配点:
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 数据库处在同一个数据库里。
UPDATE wp_posts,dede_archives
SET wp_posts.post_content = dede_archives.body
WHERE wp_posts.post_title = dede_archives.title
然后我们需要用 SQL 语句把 dede_archives 的 body 导入到 wp_posts 上的 post_content 上,以文章标题为匹配点。
最后,有些教程有提供添加点击数量的字段,这里我们没有必要添加。点击数多少不重要。我们就不瞎折腾,主要是将文件和标题数据导入进来即可。
后面,我们需要给新的 DEDECMS 程序已经转换到 WP,且打开文件都正常的我们这里需要重新给 WP 换一个主题。这里主题我们自己可以去买或者二次开发,也可以用免费的。只要数据能正常导入进来,换个主题皮肤是小事情。
备注:如果您还是不懂搞不定,可以联系云模板客服,我们承接 DedeCMS 转 WordPress 业务,再次提醒处理复原数据的时候,一定要做好备份。
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!