WordPressのDBアクセスするプラグインをマルチサイトで使う時の注意

Web-log・ココログ関連,WordPress

もしかすると、常識かも知れないのですが、私はハマったので、記載しておきます。

WordPressのプラグインで、MySQLデータベースを使う物があると思います。そう言うプラグインをインストールした時は、「ネットワークで有効」にせずに、各サイトのプラグインメニューで有効にした方が確実です。

と言うのは、プラグインを有効にした時のデータベースのテーブル名と、実際に各ブログでアクセスする時のデータベースのテーブル名が違ってしまうからです。

プラグインを「ネットワークで有効」にすると、各ブログのprefix無しにデータベースのテーブルが作られます。ところが、各ブログでは、prefix付きの名前のテーブルをアクセスしようとします。このため、データベースに各ブログのprefix付きのテーブルが無い事になり、アクセスに失敗します。

プラグインを、各ブログごとに有効にすると、各ブログのprefix付きのテーブルが作られ、アクセスする時も同じ名前のテーブルをアクセスします。これなら大丈夫です。

この様な対策をしているプラグインもあるのでしょうが、そうでない場合は注意が必要です。

ちなみに、私がハマったのは次の二つです。

  • Amazon Product in a Post Plugin
  • WP A8 Manager

最初の一つは、大量のエラーログを出していた事、もう一つは必要なデータが作られていない事の調査をしていいてわかりました。

Posted by お市のかた