MovableTypeのタグをWordPressへ移す方法

MovableTypeからWordPressへの移行で一番困ったのが、タグの移行だった。WordPressでは2.3からタグがサポートされたのだが、インポータはまだ対応していない様子。とりあえずソースをのぞいて、初PHPだったけどなんとか対応させた。

これってひょっとしてWordPressのOSSプロジェクトにコミットできる内容なのかな。
とりあえずライセンスがGPLだったので、修正済みファイルを上げておきます。(大丈夫だよね?)
wp-admin/import/のmt.phpと入れ替えてください。

ダウンロード


具体的な修正点は以下の通り。ファイルwp-admin/import/mt.phpにある下の2箇所を、
wp_create_categories($post->categories, $post_id);
}
}

$num_comments = 0;


if ( '' != $category )
$post->categories[] = $category;
} else if ( 0 === strpos($line, “DATE:”) ) {
$date = trim( substr($line, strlen(”DATE:”)) );

こう変更した。
wp_create_categories($post->categories, $post_id);
}
}
if( $post->tags)
wp_add_post_tags($post_id, $post->tags);

$num_comments = 0;

if ( '' != $category )
$post->categories[] = $category;

//tags import
} else if ( 0 === strpos($line, “TAGS:”) ) {
$tags = trim( substr($line, strlen(”TAGS:”)) );
$tags= preg_replace(”|\n*—–|s”, ”,$tags);
if ( ” != $tags )
$post->tags = $tags;

} else if ( 0 === strpos($line, “DATE:”) ) {
$date = trim( substr($line, strlen(”DATE:”)) );

4 Responses to “MovableTypeのタグをWordPressへ移す方法”

  1. はじめまして。
    mtからwpにエントリーをインポートするときにタグが移せなくて参考にさせていただきました。他の問題と合わせてブログにまとめさせていただきました。
    http://www.greenplastic.net/2008/03/14_0144.php

    ところで、本家のtracにコミットされる予定はありますか?
    http://trac.wordpress.org/
    IRCで『こんな記事書いたよ』と発言したら、『チケット探してなかったら書いておいて』と言われました。

  2. コメントありがとうございます。
    自分のエントリを参考にされたと言われたことが始めてなので、若干興奮しています :-)

    本家にコミットしたいとは思っているのですが、オープンソース活動に参加した経験がないので、どうやったら良いかわからない、というのが実情です。
    もしよろしければ簡単にでも手順をお教え願えませんでしょうか?
    手ほどきが乗っているサイト(英語でも良いです)等の情報でも嬉しいです。

  3. tracにてticketを発行すればよいと思います。
    http://trac.wordpress.org/report

    アカウントはwordpress.orgで取得できます。
    http://wordpress.org/support/

    この辺りを読むと良いかもしれません。
    http://codex.wordpress.org/Reporting_Bugs

    ボクもあまり詳しくないところなのですが、参考になればと思います。

  4. ありがとうございます!
    早速トライしてみます。

Discussion Area - Leave a Comment