WordPress ME 2.2.3から2.6 へのアップグレード

WordPress ME 2.2.3(以下2.2.3)をWordPress 2.6 日本語版(以下2.6)へアップグレードするときの注意点をメモしました。

事前準備

次のバックアップを取っておきます。

  • サーバー上のWordPress2.2.3版すべてのアップロード済みファイル
  • phpMyAdminでデータベースのバックアップ <- 非常に重要です

    WordPress ME 2.2.3からWordPress 日本語版 2.5に移行

    をご一読することをおすすめします。

    アップグレード

    2.6版のwordpress-2.6-ja\wordpress 以下を上書きします。

    私は、アップロード時間を短縮したかったので、サーバーに直接2.6版を上書きしました。

    または、ローカルに上書きした環境を作成してアップロードしても良いでしょう。
    また、私は特に何の設定も変更せず、アップグレードをしました。

    確認

    これで概ね良好なのですが、アップグレード直後、サイトをhttp://表示するとカテゴリが表示されません。

    つぎに、管理画面(ダッシュボード)にログオンすると、データベースのアップグレードを促してきますので、そのまま実行します。これでもカテゴリは表示されません。

    カテゴリ情報の生成

    2.6では、データベース構造に変更があるようで、従来カテゴリ一覧を保持しているはずのwp_categoriesがありません。
    代わりにwp_termsテーブルが記事カテゴリとリンクカテゴリを保持するようです。

    wp_termsテーブルを生成するsqlの編集

    再度phpMyAdminでwp_termsテーブルをエクスポートし、これを事前準備で用意しておいたwp_categoriesを参照しながら編集します。
    wp_categoriesのバックアップがないときは、例のようにとりあえず内容を設定しておいて、ダッシュボードからカテゴリを編集すれば良いと思います。

    sqlをテキストエディタで編集

    [直後の状態]

    INSERT INTO `wp_terms` VALUES (1, '', '', 1);
    INSERT INTO `wp_terms` VALUES (2, '', '-2', 1);
    INSERT INTO `wp_terms` VALUES (3, '', '-2-2', 1);

    [例:wp_categoriesを見ながら編集する]

    INSERT INTO `wp_terms` VALUES (1, 'カテゴリ1', 'category1', 1);
    INSERT INTO `wp_terms` VALUES (2, 'カテゴリ2', 'category2', 1);
    INSERT INTO `wp_terms` VALUES (3, 'カテゴリ3', 'category3', 1);

    INSERT の文は、wp_categoriesと同じ数だけある様です。
    赤字は順にカテゴリ、スラッグです。
    phpMyAdminで編集したsqlをデータベースにインポートします。

    これで、めでたく元の通りに表示されるようになりました。

    その他