使用織夢CMS每個月都被黑,打完官方最新補丁不久又有漏洞繼續(xù)被黑,算是受夠了,果斷把網(wǎng)站從天殺的dedecms中搬家到wordpress程序,網(wǎng)上搜索轉(zhuǎn)換教程,折騰幾個小時,順利把網(wǎng)站的文章轉(zhuǎn)移到wordpress程序,保留了文章點擊數(shù)、文章日期、文章分類,文章標簽的數(shù)據(jù)表著實弄不過來,只能放棄!下面是具體的操作方法,操作前請備份好網(wǎng)站數(shù)據(jù)。
1、DEDECMS文章標題等基本數(shù)據(jù)導入wordpress站點
織夢CMS的文章標題、正文和欄目分別存放在三個不同的數(shù)據(jù)表中,而wordpress則把文章標題和正文放在一個數(shù)據(jù)表,欄目(分類目錄)放在另一個數(shù)據(jù)表中,為了簡化后面的工作,第一步是制作生成織夢CMS的全站RSS文件(制作方法:http://www.znccw.com/2549.html),然后通過wordpress程序后臺——工具——導入——RSS,上傳導入生成的織夢全站RSS文件。
這樣就可以使wordpress在wp_posts數(shù)據(jù)表上生成文章標題,在wp_terms數(shù)據(jù)表上生成文章分類,并匹配起來,此外通過RSS導入,wp_posts數(shù)據(jù)表上還導入了文章摘要、日期、自定義網(wǎng)址等數(shù)據(jù),但是RSS不會導入全文!
2、導入織夢CMS文章全文到wordpress站點
織夢文章的數(shù)據(jù)存儲在dede_addonarticle數(shù)據(jù)庫的body字段中,現(xiàn)在需要把body字段的內(nèi)容轉(zhuǎn)到wordpress數(shù)據(jù)庫的wp_posts數(shù)據(jù)庫的post_content字段里。
這個轉(zhuǎn)換需要使用一個橋梁——那就是dede_archives數(shù)據(jù)表,即dede_addonarticle上body的內(nèi)容先轉(zhuǎn)到dede_archives上,再從dede_archives轉(zhuǎn)到wp_posts的post_content里。這兩次轉(zhuǎn)換的匹配點,分別是織夢里的文章id,以及Wordpress里已經(jīng)導入了的文章標題(這與織夢里的文章標題是一樣的)。
具體的操作步驟如下:
進入phpmyadmin,選擇dedecms網(wǎng)站使用的數(shù)據(jù)庫,在SQL輸入框中執(zhí)行以下SQL語句,在織夢數(shù)據(jù)庫的dede_archives表上,添加字段body:
ALTER TABLE dede_archives ADD body longtext NOT NULL
然后再執(zhí)行以下SQL語句把dede_addonarticle數(shù)據(jù)表中的body字段內(nèi)容導入到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數(shù)據(jù)表導出,然后再通過導入功能把該數(shù)據(jù)表導入wordpress網(wǎng)站使用的數(shù)據(jù)庫中,使其與wp_posts數(shù)據(jù)庫處在同一個數(shù)據(jù)庫里。
下面再次使用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
至此文章內(nèi)容部分轉(zhuǎn)換完成!
3、織夢CMS文章點擊數(shù)導入wordpress網(wǎng)站
織夢CMS的文章有點擊數(shù)(即是文章的閱讀數(shù)),不導入wordpress怪可惜。
在wordpress上安裝Simple Hit Counter插件,啟用后數(shù)據(jù)庫里會生成wp_hitcount表,在SQL輸入框中執(zhí)行以下語句在增加hits字段:
ALTER TABLE wp_posts ADD hits int(10) NOT NULL
執(zhí)行以下SQL語句,把dede_archives上的點擊數(shù)click導入到wp_posts的hits上,仍然以標題為匹配點:
UPDATE wp_posts,dede_archives SET wp_posts.hits = dede_archives.click WHERE wp_posts.post_title = dede_archives.title
最后執(zhí)行以下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
至此點擊數(shù)轉(zhuǎn)換完成,然后在模板中添加Simple Hit Counter插件調(diào)用代碼即可。
附:我習慣使用wp-postviews插件,所以我是把織夢CMS文章點擊數(shù)轉(zhuǎn)換為wp-postviews插件的瀏覽數(shù)。但是由于該插件需要文章有瀏覽數(shù)之后才會在數(shù)據(jù)庫中生成meta_key的值,因此需要先在wp_postmeta表中添加對應(yīng)的meta_key的值。
執(zhí)行以下SQL語句,把文章ID導入wp_postmeta中的post_id字段:
INSERT INTO wp_postmeta(post_id) SELECT ID FROM wp_posts
執(zhí)行以下SQL語句,把上面添加的post_id中的meta_key字段的null設(shè)置為views值:
UPDATE wp_postmeta SET meta_key='views' WHERE meta_key IS NULL
執(zhí)行以下SQL語句,把上面添加的post_id中的meta_value字段的null設(shè)置為0值:
UPDATE wp_postmeta SET meta_value='0' WHERE meta_value IS NULL
然后再把wp_posts的hits導入到wp_postmeta數(shù)據(jù)表中的meta_key字段的值views對應(yīng)的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' 文章來源:https://www.mywpku.com/dedecms-to-wordpress.html
轉(zhuǎn)載請注明:?蝸牛SEO? ? 完美織夢Dedecms轉(zhuǎn)WordPress方法