WordPress : php5.3にするとAdvanced Category Excluderがエラーになる

この記事は最終更新日から6年以上経過しています。
内容が古い可能性がありますのでご注意ください。

レンタルサーバのPHPをVer5.2から5.3にアップグレードしたら、以下のようなエラーが出るようになってしまった。

Warning: Parameter 1 to ace_where() expected to be a reference, value given in /******/blog/wp-includes/plugin.php on line 220

Warning: Parameter 1 to ace_join() expected to be a reference, value given in /******/blog/wp-includes/plugin.php on line 220

エラーの中に「ace」とあるので、導入しているプラグインAdvanced Category Excluderが原因のようだ。

WordPressの本家フォーラムにあった解決法を試してみたところ、うまく行ったのでメモ。

今回の環境は以下のとおり:

  • WordPress 3.1.2
  • Advanced Category Excluder 1.4.3

コントロールパネルのプラグイン一覧で、Advanced Category Excluderを「編集」。
編集画面になったら advanced-category-excluder.php の中の2箇所を修正する。

1箇所目、112行目あたり。

function ace_where(&$where,$filter="")

となっているのを次のように変更。

function ace_where($where,$filter="")

2箇所目、163行目あたり。

function ace_join(&$join,$filter="")

これを以下のように。

function ace_join($join,$filter="")

どちらも「&」を削除するだけ。

オリジナル記事はこちら。