使用織夢CMS每個月都被黑,打完官方最新補丁不久又有漏洞繼續被黑,算是受夠了,果斷把網站從天殺的dedecms中搬家到wordpress程序,網上搜索轉換教程,折騰幾個小時,順利把網站的文章轉移到wordpress程序,保留了文章點擊數、文章日期、文章分類,文章標簽的數據表著實弄不過來,只能放棄!下面是具體的操作方法,操作前請備份好網站數據。
1、DEDECMS文章標題等基本數據導入wordpress站點
織夢CMS的文章標題、正文和欄目分別存放在三個不同的數據表中,而wordpress則把文章標題和正文放在一個數據表,欄目(分類目錄)放在另一個數據表中,為了簡化后面的工作,第一步是制作生成織夢CMS的全站RSS文件(制作方法:http://www.znccw.com/2549.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:
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' 文章來源:https://www.mywpku.com/dedecms-to-wordpress.html
轉載請注明:?蝸牛SEO? ? 完美織夢Dedecms轉WordPress方法