前面我們介紹瞭如果安裝 WordPress MU,安裝完成後我們就需要把每個獨立站點的數據轉移到 MU 中,在 MU 中最原始的站點數據是不需要改動,只需要轉移新添加的站點文件和數據,而這個轉移的過程並不是很輕鬆。
WordPress 的數據包括程序文件和數據庫,所以轉移的過程也分為兩部分:
首先,我們來瞭解一下新創建的站點文件夾和數據表結構,在 WordPress 中新建的數據庫表前綴是:「wp_」 的形式,而 MU 創建的第二個站點數據庫表前綴是:「wp_2_」(2 是新站點的 ID) 的形式;而 MU 創建新站點時會在主站的 uploads 文件夾下創建 sites 文件夾,再根據 ID(假如 ID 為 2) 會在 sites 文件夾下再創建數字 「2」 這個文件夾,這樣我們就明白數據該如何轉移了。
一、程序文件的轉移轉移的目標:主題和 uploads 文件夾下的所有文件
1 、主題,我們可以在 「管理網絡」 中的 「主題」 中直接安裝,也可以在主機上拷貝到主站的 themes 文件夾下,然後在管理網絡——外觀——主題,點擊 「開放給整個站點網絡使用」,這時我們就可以返回到新站點中進行啓用該主題。
2 、文件,把 uploads 文件夾下的所有文件都轉移到 「2」 這個文件夾下即可。
二、數據庫的轉移
也許我們會想到用 WP 自身的導入與導出工具,把所有文章全部導出,再導入到新的站點,如果文章多,導出的 XML 文件好幾 M,導入的時候會耗費太長的時間,那就讓人頭痛了。所以我們推薦大家把原數據庫導出,然後導入到新的站點。
1 、導出原博客中的數據
打開 phpMyAdmin,導出原博客中的數據為.sql 文件,數據表如下:
- wp_commentmeta
- wp_comments
- wp_links
- wp_options
- wp_postmeta
- wp_posts
- wp_terms
- wp_term_relationships
- wp_term_taxonomy
- wp_usermeta
- wp_users
a 、用文本編輯器打開導出的 .sql 文件,使用全局替換功能將其中的」wp_」 替換為」wp_2_」(2 為新站點的 ID,如果 ID 是 3,就寫成 wp_3_),替換並保存;
b 、再將 「wp-content/uploads」 全局替換為 「wp-content/uploads/sites/2」,把媒體文件的路徑修改成網絡路徑。
2 、導入修改好的數據庫到 MU 數據庫中
現在打開新站點的 phpMyAdmin,找到 MU 數據庫,你會發現數據庫中有 「wp_」 和 「wp_2_」 兩個表前綴的數據庫,把前綴為 「wp_2_」 所有的數據刪除或重命名,然後導入剛才修改過的 .sql 文件。
3 、修正 「siteurl」 與 「home」 中的地址 (在沒有綁定原域名之前)
在 MU 新創建的站點,域名是 newname.Domainname.com 這樣的二級域名,我們需要把原域名修改成 MU 中新添加的二級域名,打開 wp_options 數據表,找到名稱為 「siteurl」 與 「home」 兩個數據,修改其中的值即可。
有些朋友在使用的過程中發現使用原博客中的 wp_options 數據會出現問題,如果有問題就不導出原博客中的 wp_options 數據,使用新站點 wp_options 數據,然後再設置下新站點。
在後面我們會講到如果綁定域名,如果綁定了原域名而且使用原博客中的 wp_options 數據,我們就不需要修改這一步了!
4 、修正文章作者
因為修改過的數據庫表前綴為 「wp_2_」,與之前的是不一樣,所以我們需要在 MU 中把新站點中所有的文章作者指定給 MU 管理員,可以在 phpMyAdmin 中的 SQL 中執行以下代碼:
- UPDATE wp_2_posts SET post_author = 1
如果新站點的有多個作者,那只有在後台——文章列表中選擇同一作者的文章進行批量修改了。
5 、修正數據庫中的 meta_key
我們在前面修改表前綴是全局替換,我們也把一些不需要修改成 「wp_2_」 這樣的數據給修改好,如數據庫表 wp_2_postmeta 和 wp_2_usermeta 中的一些 meta_key,基本上是以 「_wp_」 這樣的數據表,所以我們需要在替換完成後將其改回原來的值,仍以博客 ID 為 2 作為例子,在 MU 的數據庫中使用下面的 SQL 語句進行修正:
- UPDATE wp_2_postmeta SET meta_key = '_wp_2_attachment_metadata' WHERE meta_key = '_wp_attachment_metadata'
- UPDATE wp_2_usermeta SET meta_key = '_wp_2_attached_file' WHERE meta_key = '_wp_attached_file'
可能不止這兩處地方,根據實際情況再修改回來。
到這裏文件與數據的轉移基本完成,前往 「管理網絡」 後台中將插件與主題啓用,新的站點就可以使用了。
一個程序包,一個管理面板,一個數據庫,輕鬆快捷地創建 N 多個站點,使用
WordPress MU
省去了很多重複的工作,節省了空間,管理方便,實在是大讚,筆者是相當的喜歡,相信有多個站點的你也一定會喜歡。