Home > WordPress > WP2.5.1へアップグレード後にカテゴリが表示されないのを強引に解決した方法

WP2.5.1へアップグレード後にカテゴリが表示されないのを強引に解決した方法

2009/01/27

ずいぶん前の話で、すっかり記憶の彼方になってしまっていますが、WordPress ME2.2.1から日本語版2.5.1移行の記録 | Nai-Noreでコメントいただいたので記憶を頼りにエントリを書くことにしました。

症状
WordPress ME2.2.1から日本語版2.5.1へのアップグレードは成功と表示されるものの、アップグレード後に既存カテゴリが表示されない。

まさに、WordPress : フォーラム ≫ 既存カテゴリー、タグが出て来ず、新規追加も出来ない。のような状態でした。

この状態で、PHPerさんにヘルプを頼んだところ、「\wp-admin\includes\schema.phpの16行目$wp_queriesが正しく動いていないらしい」という状態を、確認してもらいました。

エラー文などから推測すると、次の3つのテーブルが作られないため、カテゴリが継承されないようです。

  • wp_terms
  • wp_term_relationships
  • wp_term_taxonomy

注意事項

以後の作業は、改めてローカルサーバでWP ME2.2.1からWP日本語版2.5.1へのアップグレード実験をして解決した結果です。
必ずアップグレード用ファイルやDBなど、各種データのバックアップを取った上でお試しください。

アップグレードでカテゴリを追加させる為の手順

phpMyAdminのプラグインを導入するなどして、テーブルをCREATEできるようにしておく必要があります。

自分で使用していたWP ME2.2.1のファイル群、アップグレード作業を行う前のデータベースのバックアップに戻した状態から作業を進める前提で書いています。
これがない場合はカテゴリーデータの移行は自動的にはできないと思います。(手動でカテゴリー登録することは可能だと思います)

1.WP ME2.2.1とデータベースの状態を確認

この時点で、テーブルはwp_categoriesが含まれていて、wp_terms、wp_term_relationships、wp_term_taxonomyがないデータベースです。

もしも、一度でもアップグレードに失敗している場合(アップグレード成功が表示されていてもエラーメッセージが表示されている場合なども含む)は、アップグレード作業をする前のバックアップデータに戻してください。

2.phpMyAdminで、wp_terms、wp_term_relationships、wp_term_taxonomyの3テーブルをCREATEする

テーブルは、下記のCREATE文3つで作成されます。
CREATE TABLE `テーブル名` (ほげほげ);
;(セミコロン)まででCREATE文です。

テーブル名
CREATE文
wp_terms

CREATE TABLE `wp_terms` (
`term_id` bigint(20) NOT NULL auto_increment,
`name` varchar(55) NOT NULL default '',
`slug` varchar(200) NOT NULL default '',
`term_group` bigint(10) NOT NULL default '0',
PRIMARY KEY (`term_id`),
UNIQUE KEY `slug` (`slug`)
);
wp_term_relationships

CREATE TABLE `wp_term_relationships` (
`object_id` bigint(20) NOT NULL default '0',
`term_taxonomy_id` bigint(20) NOT NULL default '0',
`term_order` int(11) NOT NULL default '0',
PRIMARY KEY (`object_id`,`term_taxonomy_id`),
KEY `term_taxonomy_id` (`term_taxonomy_id`)
);
wp_term_taxonomy

CREATE TABLE `wp_term_taxonomy` (
`term_taxonomy_id` bigint(20) NOT NULL auto_increment,
`term_id` bigint(20) NOT NULL default '0',
`taxonomy` varchar(32) NOT NULL default '',
`description` longtext NOT NULL,
`parent` bigint(20) NOT NULL default '0',
`count` bigint(20) NOT NULL default '0',
PRIMARY KEY (`term_taxonomy_id`),
UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`)
);

この時点で、テーブル数は13個になります。
他のテーブルは編集せず、そのままにしておいてください。

3.WP日本語版2.5.1のファイルをFTPでアップロード

通常通りのアップグレード手順を進めます。
WP日本語版2.5.1のアップグレード用ファイルをFTPでアップロードします。

4.管理画面へアクセスして、WPをアップグレードする

ファイルのアップロードが完了したら、ダッシュボード(管理画面)へアクセスします。
すると、データベースが古くなっている旨と、アップグレードの指示が表示されるので、画面の指示に従って、アップグレードを行います。
 

5.エラーが表示されずに、アップグレードが完了

これで、古い構成のテーブルから、新しい構成のテーブルにデータが移行されるはずです。
アップグレードの時に、wp_categoriesから、wp_terms、wp_term_relationships、wp_term_taxonomyへとデータを移行してくれるはずなので、テーブル数は10個になっています。

ダッシュボードから、カテゴリページを確認してください。
カテゴリーが引き継がれているはずです。

私の場合はこれで解決したのですが、環境によっては成功しないかもしれません。

次から、忘れないうちにエントリ書くようにしたいと思います・・・orz

Comments:0

Comment Form
Remember personal info

Trackback+Pingback:0

TrackBack URL for this entry
http://ikue.dmz-plus.com/archives/224/trackback
Listed below are links to weblogs that reference
WP2.5.1へアップグレード後にカテゴリが表示されないのを強引に解決した方法 from Nai-Nore

Home > WordPress > WP2.5.1へアップグレード後にカテゴリが表示されないのを強引に解決した方法

Search
Feeds
Meta
ETC

あわせて読みたいブログパーツ

ロリポップ! カラーミーショップ! ヘテムル さくらのレンタルサーバ

Page Top