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 為匹配點。