在從Movable Type轉換成WordPress之後

酋長問了幾個問題:

對了,在匯入mt的文章時,我發現1.2版支援多作者,它會把匯入的文章自動寫為新作者,要怎麼作才能把它弄成admin帳號的文章,目前我是硬幹,把資料庫內的新作者的資料統統改成像admin一樣。這樣讓秀出來的資料像admin發的一樣。不知可有解決之道?

另外,我發現匯入的文章也沒trackback-url,這是正常的吧。我看你以前的文章也是一樣。可以修嗎?

第一個問題,用硬幹的作法的話,就是將全部的文章作者一次轉換成都是admin發的,請在安裝 WP 的目錄中,新增一個 PHP 檔案,比方說叫foo.php好了,輸入以下內容:


get_results($request);
foreach ($posts as $post) {
$ID = $post->ID;
$wpdb->query("UPDATE $tableposts SET post_author = 1 WHERE ID = '$ID'");
echo $ID."
";
}
?>

然後,開啟瀏覽器,在瀏覽器中輸入foo.php的網址,執行這個 PHP 程式,就一次轉換完了。呵,這樣才叫做硬幹。

第二個問題, WP 跟 MT 不同, MT 會在資料庫中另外使用一個欄位,儲存要接受 TrackBacks 的代號, WP 中要出現允許通告的網址,只要打開通告權限即可,而出現第二個問題的原因,就是在轉換過程中,沒有把之前的文章的通告權限,解決第二個問題的方法,就是一次全部打開所有文章的權限,也就是,就是將上面 $wpdb->query那行,改成


$wpdb->query("UPDATE $tableposts SET ping_status = 'open' WHERE ID = '$ID'");

5 thoughts on “在從Movable Type轉換成WordPress之後

  1. 呵 :-),大概了解這段碼的意思,不過我試著用的時候,發現上面原始碼中的’ 或” 符號不大正確。修一下吧。 🙂

    修改後再執行之也發現這個錯誤:
    Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ‘,’ or ‘;’ in /home/wordpress/public_html/foo.php on line 8

    不知這是怎樣? 看來是第八行也就是:
    $wpdb->query(“UPDATE $tableposts SET post_author = 1 WHERE ID = ‘$ID’”);
    這一行有執行上的問題。

  2. 引號之所以不正確,是因為WordPress會自動轉換引號,所以用的時候要稍微注意一下,另外,這個錯誤訊息,應該是 echo $ID.”<br />”; 這行沒寫好造成的,寫的時候忘記在 $ID 以及 “<br />” 之間加上一個句號。不過這一行主要是拿來看有沒有輸入用的,如果不需要的話,直接把這行拿掉也沒關係。

  3. 成功了。感謝。;-)
    wordpress在轉換引號上,好像不是很友善?

    對了,剛測試過pivot的中文修正( pivot110cjk.tar.gz 這個檔案,韓國人作的吧),發現還是問題多多,主要出現在許功蓋亂碼及中文搜尋找不到的問題。
    作者說要等pivot新版才能修了。

Comments are closed.