光看標題你可能不是太清楚具體的情況,所以三好菌就先把自己的需求詳細描述一下:
三好菌想要放棄之前的“我愛Windows8”網站,但是其中的某些資源(例如“Windows8主題”)在Windows10中依然有效,并且這些文章都是三好菌一個字一個字碼出來的,所以全部丟棄著實可惜。于是,三好菌就想把其中的部分文章導入到“Win10專業網”中。但是文章的分類目錄、標簽、標題、正文部分內容,甚至固定鏈接都需要做修改才行。
還是以把“我愛Windows8”網站的“Win8主題”分類目錄的文章導入“Win10專業網”的“Win10主題”分類目錄為例,需要修改的地方有:
- 分類目錄:“Win8主題”改成“Win10主題”
- 標簽:“Win8.1主題下載、Windows8主題”改成“Win10主題下載、Windows10主題”
- 文章標題:“Win8.1”修改成“Win10”
- 文章作者:“Microsoft酋長”改成“MS酋長”
- 文章發布日期:改成“Win10專業網”建站之后的日期才合理
- 文章內容:“Win8.1”修改成“Win10”
- 固定鏈接:http://www.52windows8.com/%category%/%post_id%.html格式修改成http://www.windows10.pro/sample-post/格式
面對這幾百篇文章,如何才能效率既高,又不易出錯呢?可能對于數據庫高手來講不在話下,可是對于三好菌來說,純粹操作數據庫還真怕玩不轉,尤其是風險太高。
想必有這個需求的不是太多,所以三好公民沒有找到現成的教程,只好自己琢磨。本來想嘗試采集軟件,但是覺得可控性不好。于是,就決定還是用WordPress自帶的“導入/導出”工具靠譜。倡萌已經分享過《WordPress自帶的導出導入功能使用教程》,所以三好菌不再贅述導出導入的方法,下面只詳細分享一下如何借助它實現在兩個不同WordPress網站間轉移文章的目的。
這就需在轉移的過程中來做手腳,也就是把導出的數據先修改成符合我們需要之后再導入新站點。WordPress導出的是xml格式的文件,三好菌用Notepad++打開它,下面展示一下一篇文章的標題和正文內容部分。如圖:
你可以很輕松地用批量替換的方法把標題和正文內容中的“win8.1”替換成“Win10”。但是文章鏈接和發布日期、分類目錄、標簽等卻需要修改正文后面的元數據部分。如圖:
<wp:post_id>
文章ID,為了避免ID重復,建議修改成比新網站最新的文章ID還大的數字,否則有沖突的風險。
<wp:post_date>
文章發布日期
<wp:post_name>
固定鏈接中顯示的文章標題。建議把這里修改成簡短一些的英文,否則導入之后文章的鏈接就變成了“http://www.windows10.pro/漢字文章標題的編碼/”,很長;
<category domain=”category” nicename=”themes”><![CDATA[Win8主題]]></category>
分類目錄,除了要修改漢字的分類目錄名稱,還要修改nicename,也就是分類目錄的別名,修改成新網站里分類目錄的別名,否則即使漢字名稱相同,導入之后文章也會另起爐灶,在另一個同名的目錄里。
<category domain=”post_tag” nicename=”windows8-1%e4%b8%bb%e9%a2%98″><![CDATA[Windows8.1主題]]></category>
文章標簽。同樣要修改標簽名稱和別名。
這其中能夠批量修改的有“文章標題、發布日期(年份)、分類目錄、標簽、正文中的字詞”,需要逐一修改有“文章ID、固定鏈接里的文章標題”,所以總體上修改效率還是比較高的。
細心的讀者可能會說,怎么沒見修改文章作者啊?其實不用這里改,導入的時候指定新作者就可以了,后面會講到。不過文章正文中的作者名稱還是要在這里批量修改好的。
修改完成之后保存,然后就可以在新網站中導入了。
看到了吧,只需“將日志分配給現有用戶”就可以實現改作者了。
不過這里有一點比較遺憾,就是“下載并導入文件附件”選項,三好菌勾選后并沒有實現。后來又一篇文章一篇文章地用Hacklog Remote Image Autosave插件遠程下載到文章里的。不知道有沒有更智能的方法,請大家推薦一下。
PS:關于轉移圖片,三好菌想到一個方法。就是先把所有的圖片全部拷貝過來,然后使用Add From Server插件把這些圖片信息添加進入媒體庫,然后使用媒體庫里的“尚未附加”進行篩選,或者使用DNUI 插件掃描未使用的圖片,再批量刪除即可。
OK,一番忙碌之后,舊網站的文章已經與新網站的文章渾然一體了。