以前から、記事と記事の間に Ads コードなどを表示することができる WPCandy plugin を愛用していましたが、WordPress 2.5 にアップデートしてからエラーが出て使えなくなっていました。
本家 WordPress.org のフォーラム Plugins and Hacks に載っていたエラー回避の記事のとおりやってみたところ無事使えるようになったので参考にメモしておきます。
WP2.5 では、WPCandy plugin の管理画面で次のエラーをはき出します。
Warning: Invalid argument supplied for foreach() in /virtual/hakopon/public_html/wp-content/plugins/WPCandy-1.2.php on line 350
WPCandy plugin は、有効化する時に、データベースに wp_wpcandy というテーブルを自動的に作成するのですが、WP2.5 ではそれが作成されません。
(ひょっとしたら WPCandy plugin を有効化したままアップデートすれば大丈夫なのかも・・・)
これがエラーの原因です。
なので、phpMyAdmin のメニューから手動で wp_wpcandy テーブルを作成することでエラーが回避できます。
テーブル構成は、以前のとっておいたデータベースのバックアップを元にしました。
phpMyAdmin で WP が使用しているデータベースを選択し、SQL の画面で以下のコードを貼り付けて実行します。
CREATE TABLE `wp_wpcandy` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`anchor` tinytext NOT NULL,
`candy` text,
`position` tinytext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
これで、空の wp_wpcandy テーブルが作成できました。
その後、WPCandy plugin を有効化します。この時点では未だ WPCandy plugin の管理画面で先述のエラーが表示されますが、 テキスト入力欄の横の New ボタンを押せば正常に使えるようになりました。