Movable Type 3.33からWordPressへの移行

移行の手順は、こちらブログ「固定リンクを変えずにスムーズにMovableTypeからWordPressに移行するまでの作業ログ」を参考にすれば、できます。

もし、固定リンクが変わってもいいならば、上記サイトのすべてのことをする必要がないので、もっと楽です。

画像リンクの保持のほうが難しかったです。移行元のMTでの画像アップするディレクトリが統一されていない場合、そのまま分散したまま移行すればいいのですが、移行のついでに画像保存のディレクトリを整理したいって思うと、クエリで保存ディレクトリを書き変えるよりも、ひとつひとつアップロードしなおすほうが速いかもしれません。

改行処理について

これも、移行元のMTでどのように投稿をしていたかによると思うのですが、HTMLタグを使わずに「改行を変換する」で投稿したPostは、WordPressで移行した後、改行されずに表示されます。

移行元のデータベースを覗くとbrタグやpタグが入っていません。MTではデータベースに保存されたテキストの改行コード(\n)を再構築(出力)の際に、brタグに変換しているようです。

WordPressでも、デフォルトでは同様にデータベースのテキストにはbrタグやpタグがないのが、出力されたWebページにはbrタグやpタグが入っているので、出力の際に改行コードをbrタグやpタグに変換しています。

それを、行っているのがwpautop関数で、この自動変換がどうにも不便で、

たとえば、

  • 複数行の改行が効かない。
  • 意図しない箇所に勝手に<br />や<p></p>が挿入されてしまう。

など、ままならに為、wpautopを無効にして使うのが一般的です。

Disable wpautopというプラグインでwpautopを無効にしていると、MTから移行したPostは改行のない状態で表示されます。

「これは、困ったな」とデータベースのクエリで、改行コードをpタグに変換することを考えていたら、なんの事はありませんでした。

PS Disable Auto Formatting このプラグインで解決です。

けど、デフォルトテーマのTwenty Tenではアーカイブページでは、pタグやbrタグが入らないようです。

アーカイブページや検索結果ページで改行されない件について

Twenty Tenのテンプレートファイルを見ると、アーカイブページや検索結果ページでは、the_excerpt()関数で抜粋が表示されるようになってます。the_excerpt()関数はCodexによると

抜粋文入力欄に記入してあればそれを、抜粋を入力していない場合は投稿内容の最初の 55個の単語までを表示します 。また、抜粋のコンテンツからは HTML タグと画像は取り除かれます。

とのことです。

日本語の場合、抜粋の表示が最初の55個の単語をうまく判定できずに、全文表示されたりして、「抜粋である」ということが伝わりにくい場合もあるので、アーカイブページでも、the_conentで全文表示するようにカスタマイズするか、タイトルだけにするか、いずれにしろカスタマイズが必要ですね。

一般的なブログでは、アーカイブページでも全文表示されるケースが多いですから、そのようにカスタマイズします。