cbnet Ping Optimizer エラーの解決方法と日本語化【Plugin NOT upgraded properly. Please reactivate the plugin.】

  • 投稿 : 2012-04-07
  • 更新 : 2015-08-28

確認した環境

・wordpress-3.3.1-ja
pdo-for-wordpress(2.7.0)
cbnet Ping Optimizer(2.3.3)

エラーの解決方法

Plugin NOT upgraded properly. Please reactivate the plugin.
このエラーが出る場合は、データベースにテーブルが作成できていない場合です。ソースをみればテーブルが存在しなかったらこのエラーがなってます。

■データーベースにSQLiteを使っている場合は、事前に以下のようなテーブルを作成しておくことで使えるようになります。

CREATE TABLE [wp_cbnetpo_ping_optimizer] (
[id] INTEGER PRIMARY KEY AUTOINCREMENT,
[date_time] DATETIME,
[post_title] TEXT,
[log_data] TEXT,
[type] INTEGER DEFAULT '1'
);

■WPのマルチブログの場合は以下のようにすると使えるようになるらしいです。
おそらく、上のエラーメッセージが出る場合は、「サイトネットワーク管理者」のページからプラグインを「ネットワークで有効化」しているはずである。私がそうだった。

解決方法は簡単。この「ネットワークで有効化」を停止して、マルチブログの各管理画面からプラグイン「cbnet Ping Optimizer」を有効化するだけである。

これで、設定画面で「Plugin NOT upgraded properly. Please reactivate the plugin.」のエラーメッセージが出なくなり、ping送信ログも表示される。


「cbnet Ping Optimizer」をWPのマルチブログで使う方法

事前にテーブルを作成してもOKそうに思うが、試していないので分かりません。
テーブル作成のソースの箇所は、「cbnet-ping-optimizer.php」の以下の部分です。

function cbnetpoCreateLogTable() {
  global $wpdb;
  if ( $wpdb->get_var("show tables like '$this->cbnetpo_pinglog_tbl'") != $this->cbnetpo_pinglog_tbl ) {
   if ( file_exists(ABSPATH . 'wp-admin/includes/upgrade.php') ) {
    require_once( ABSPATH . '/wp-admin/includes/upgrade.php' );
   } else { // WordPress <= 2.2
    require_once(ABSPATH . 'wp-admin/upgrade-functions.php');
   }
   dbDelta("CREATE TABLE `{$this->cbnetpo_pinglog_tbl}` (
     `id` int(11) NOT NULL auto_increment,
     `date_time` datetime NOT NULL,
     `post_title` text, 
     `log_data` text,
     `type` tinyint(4) DEFAULT 1, 
     PRIMARY KEY (`id`)
     );
    ");
  }
 }

テーブル名は通常は「wp_cbnetpo_ping_optimizer」です。

日本語化

【WordPressプラグイン日本語版】cbnet Ping Optimizer 【 夢猫工房 】

日本語化されたものが上記で配布されていますので、これを使うと便利です。


スポンサーリンク