1. 文章標題等基本資料匯入
織夢的文章標題、正文和欄目分別存放在三個不同的表上,但 WordPress 把文章標題和正文放在一個表上,欄目放在另外一個表上。為了簡化後面的工作,第一步我首先把織夢的全站 RSS 檔案 (rss.php) 儲存下來 (參見這裡製作該檔案 http://bbs.dedecms.com/read.php?tid=261237),然後使用 WordPress 自帶的 RSS 匯入該檔案。這樣就可以使 WordPress 在 wp_posts 上生成文章標題,在 dede_terms 上生成文章目錄,並匹配起來。透過 RSS 匯入,wp_posts 上還匯入了文章的摘要、日期、自定義網址等資料。但 RSS 匯入不會匯入全文。
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 為匹配點:
UPDATE `dede_archives`,`dede_addonarticle`
SET `dede_archives`.`body`= `dede_addonarticle`.`body`
WHERE `dede_archives`.`id` = `dede_addonarticle`.`aid`
接下來把整個 dede_archives 表匯入到 WordPress 的資料庫上,使其與 wp_posts 同在一個資料庫下。
再次使用 UPDATE 命令把,把 dede_archives 上的 body 匯入到 wp_posts 上的 post_content 上,以文章標題為匹配點 (前提是,你的文章標題都是唯一的):
UPDATE `wp_posts`,`dede_addonarticle`
SET `wp_posts`.`post_content`= `dede_archives`.`body`
WHERE `wp_posts`.`post_title` = `dede_archives`.`title`
3. 文章點選數匯入
在 WordPress 上安裝一個叫 Simple Hit Counter 的 Plug-in,這樣資料庫裡就出現一個叫 wp_hitcount 的表。
在 wp_posts 增加一個叫 hits 的 column,然後把 dede_archives 上的點選數 click 匯入到 wp_posts 的 hits 上,仍然以標題為匹配點。
最後把 wp_posts 的 hits 匯入到 wp_hitcount 的 hits 上,這次以 wp_posts 的 ID 和 wp_hitcount 的 pid 為匹配點。