织梦DedeCMS转WordPress网站图文教程 包含模板转换

织梦DedeCMS转WordPress网站图文教程 包含模板转换插图

这几天关于织梦DedeCMS要收授权费用的新闻大家都看到了吧,搬主题也进行了介绍《秋后算账!DedeCMS织梦收费的影响几何》,对于不想付费的站点该如何处理呢,其实是可以转成开源的WordPress站点的。这里搬主题就分享一下织梦DedeCMSWordPress网站图文教程,对于之前的DedeCMS的模板,这里也给出相应的转成WordPress模板的方法。

注意:本文的内容大部分取自互联网,未进行验证,操作前务必先进行备份。

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

织梦CMS的文章标题、正文和栏目分别存放在三个不同的数据表中,而WordPress则把文章标题和正文放在一个数据表,栏目(分类目录)放在另一个数据表中,为了简化后面的工作,第一步是制作生成织梦CMS的全站RSS文件然后通过WordPress程序后台——工具——导入——RSS,上传导入生成的织梦全站RSS文件。

如何生成织梦CMS的全站RSS文件?

操作方法:

1、在dedecms的dede文件夹(后台文件夹)下找到makehtml_rss_action.php文件,对其进行编辑,找到代码:

echo "完成所有文件更新!";

在其下面添加代码:

echo "<a href='/rss.xml' target='_blank'>浏览…</a>";

作用是在生成rss.xml文件后方便点击查看生成结果。

2、在dedecms的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']).") )";

3、进入后台——生成——更新RSS文件,把“单个类目最大记录数”改为全站的文章数量,然后点击“开始更新”,更新完成后,网站根目录下会生成一个全站rss.xml文件,可通过http://网站域名/rss.xml查看。

附:如果生成的rss.xml文件有错误,在根目录下的templets文件夹中的plus文件夹里找到rss.htm文件,对其进行编辑,找到代码:

<description><![CDATA[[field:description function='html2text(@me)'/]]]></description>

修改为:

<description><![CDATA[[field:description/]]]></description>

注:wordpress的编码是utf8,如果dedecms使用的不是utf8的,导入前请先转换编码为utf8。

这样就可以使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

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数据库处在同一个数据库里。

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

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字段

ALTER TABLE wp_posts ADD hits INT(10) NOT NULL

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

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为匹配点:

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字段:

INSERT INTO wp_postmeta(post_id) SELECT ID FROM wp_posts

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

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

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

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

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

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'

至此,织梦DedeCMS转WordPress网站就完成了。接下来再说一下织梦DedeCMS模板怎么转换成WordPress网站模板

在转换之前,我们要清楚织梦程序与Wordpress程序在使用时,都是有它们自己独特的调用标签,所以我们转换时,就是将织梦网站的调用标签替换成Wordpress调用标签。

网站标题、描述、关键词调用标签:

织梦:

<title>首页标题</title>
<meta name='Description' content='{dede:global.cfg_description/}'>
<meta name='Keywords' content='{dede:global.cfg_keywords/}'>

替换成Wordpress:

<title><?php if ( is_home() ) { ?>网站首页标题<?php } ?></title>
<?php if ( is_home() ) { ?>
<meta name='description' content='网站首页描述 '/>
<meta name='keywords' content='网站首页关键词' />
<?php } ?>

网站名称调用标签:

织梦:

{dede:global.cfg_webname/}

替换成Wordpress:

<?php bloginfo('name'); ?>

网站首页链接调用标签:

织梦:

{dede:global.cfg_cmsurl/}/

替换成Wordpress:

<?php echo get_option('home'); ?>

网站头部模板调用标签:

织梦:

{dede:include filename='head.htm'/}

替换成Wordpress:

<?php get_header();?>

网站底部调用标签:

织梦:

{dede:include filename='footer.htm'/}

替换成Wordpress:

<?php get_footer();?>

网站导航菜单调用标签:

织梦:

{dede:channel type='top' row='显示数量' currentstyle='<li class=hover><a href=~typelink~ ~rel~>~typename~</a></li>'}
{/dede:channel}

替换成Wordpress:

<?php wp_nav_menu( array( 'theme_location' =>'topmenu','container' => '','menu_class' => 'topnav','menu_id' => 'topmeau','depth' => 1, ) ); ?>

循环调用标签:

织梦:

{dede:arclist row='条数' typeid='栏目ID' titlelen=40 }
{/dede:arclist}

替换成Wordpress:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<?php endwhile;?>
<?php endif; ?>

文章标题调用标签:

织梦:

[field:title/]

替换成Wordpress:

<?php the_title(); ?>

文章链接调用标签:

织梦:

[field:arcurl/]

替换成Wordpress:

<?php the_permalink() ?>

文章缩略图调用标签:

织梦:

[field:picname/]

替换成Wordpress:

<?php if ( has_post_thumbnail() ) { the_post_thumbnail(array(296,296),array('alt'=> trim(strip_tags( $post->post_title ))));} else {?><img src='<?php echo get_first_image(); ?>' alt='<?php the_title(); ?>' width='296' height='296' /><?php }?>

文章发布时间调用标签:

织梦:

[field:pubdate function=MyDate('Y-m-d',@me)/]

替换成Wordpress:

<?php the_time('Y-m-d'); ?>

友情链接调用标签:

织梦:

{dede:flink titlelen='40' row='40' type='textall'} [field:link /] {/dede:flink}

替换成Wordpress:

<?php if ( is_home()) { ?>
<?php wp_list_bookmarks('title_li=&categorize=0&orderby=rand&limit=24'); ?>
<?php } ?>

文章所属栏目调用标签:

织梦:

[field:typeurl/]

替换成Wordpress:

<?php the_category(', ') ?>

以上是织梦模板和Wordpress模板常用的调用标签。

 收藏 (0) 更新不易,打赏吧

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

除特别注明外,本站所有文章均基于CC-BY-NC-SA 4.0原创,转载请注明出处。
文章名称:《织梦DedeCMS转WordPress网站图文教程 包含模板转换》
文章链接:https://www.banzhuti.com/dedecms-to-wordpress-guide.html
分享到: 生成海报
版权免责声明

① 本站提供的资源(插件或主题)均为网上搜集,如有涉及或侵害到您的版权请立即通知我们。
② 本站所有下载文件,仅用作学习研究使用,请下载后24小时内删除,支持正版,勿用作商业用途。
③ 因代码可变性,不保证兼容所有浏览器、不保证兼容所有版本的WP、不保证兼容您安装的其他插件。
④ 本站保证所提供资源(插件或主题)的完整性,但不含授权许可、帮助文档、XML文件、PSD、后续升级等。
⑤ 由本站提供的资源对您的网站或计算机造成严重后果的本站概不负责。
⑥ 使用该资源(插件或主题)需要用户有一定代码基础知识!另本站提供汉化使用安装教程,仅供参考。
⑦ 有时可能会遇到部分字段无法汉化,同时请保留作者汉化宣传信息,谢谢!
⑧ 本站资源售价只是赞助和汉化辛苦费,收取费用仅维持本站的日常运营所需。
⑨ 如果喜欢本站资源,欢迎捐助本站开通会员享受优惠折扣,谢谢支持!
⑩ 如果网盘地址失效,请在相应资源页面下留言,我们会尽快修复下载地址。

热门文章

评论 抢沙发

评论前必须登录!

立即登录   注册

WordPress主题 插件 建站 汉化

定制服务联系我们
切换注册

登录

点击按钮进行验证

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活