• HOME >
  • ブログ一覧 >
  • WordPress 4.7.1にアップデートして発生したエラーの対処

2017.01.13

WordPress 4.7.1にアップデートして発生したエラーの対処

WordPress 4.7.1が2017年1月12日に公開され、順次アップデートしていった方も多いかと思います。その中で、弊社の動画クリエイター・松本が動画編集に関する情報発信メディア「Movie For Life」もバージョンを更新したところ、サイトのトップページに「Warning: Invalid argument supplied for foreach() in (domain)/wp-content/plugins/head-cleaner/head-cleaner.php on line 2895」というエラーが発生しました。管理画面にログインできないという緊急事態となったのですが、今回はこの事象の解決方法をご紹介いたします。

原因は、プラグイン「Head Cleaner」による影響

インターネット上で情報検索していると、どうやらHead Cleanerというプラグインを有効化しているWordPressサイトにて同現象が起きるようです。

直接サーバーにアクセスしてHead Clearの根幹ファイルの2896行目を編集すれば事態は解決するのかと思ったのですが、プラグインも日々バージョンアップしているので、エラー箇所を直接直すのも時間がかかると判断しました。

参考:http://ietore.com/2016/12/09/post-2167/

直す方法は二つ

  1. WordPressを旧バージョンに戻す
  2. Head Cleanerを停止する

どちらが恒久対策かと考えた場合、ずっとWordPressを旧バージョンにし続けるわけにはいかないので、2番の方法を選択しました。みなさまもこちらがおすすめです。一度停止し、Head Cleanerがどうしても使い続けたい場合は、開発元が問題を解決後に再度最新版をインストールすることをおすすめします。

Head Cleanerの停止手順

ここからはかなり専門的でかつ、慎重な作業となっていきます。プラグインの停止は、管理画面にログインできて操作できたら簡単なことですが、現状管理画面にログインできない状態なので、それができません。よって、データベースを直接編集し、Head Cleanerを一時停止しようと思います。

当作業をする前に、必ずデータベースのバックアップを取っておくことをおすすめいたします。また、当作業を行うと、他の動いていたプラグインも一旦すべて一時停止状態になる可能性もあるので、予めご了承ください。

動いているサイトがエラー表示されたままというのも緊急事態なので、まずはエラーを解消することが最優先と考えます。

1. phpMyAdminにログイン

契約しているサーバーによってphpMyAdminはログイン方法は違うと思いますが、契約時のメールに記載されているかと思います。まずはコントロールパネル画面に入り、phpMyAdminのログインを行うのが通常かと思います。

思わぬ落とし穴となるのが、phpMyAdminのユーザ名は分かるけどパスワードが分からない!なんてことあると思います。そんな時は、FTPでサーバーに直接アクセスし、WordPressフォルダ直下のwp-config.php内「DB_PASSWORD」にパスワードが記載されているので、こちらを参照しましょう。

2. アクティブになっているプラグインのテーブルレコードへアクセス

wp_optionsのactive_pluginsの左端にある「編集」をクリックします。

phpmyadminnの管理画面にて

3. データベース操作で直接プラグインを停止する

ここで筆者が参照したサイトによると、下記のように書いていましたが、Head Cleanerに「a:数字」はなく、iから始まっていたので2つ目の対応だけ行いました。

念のため、書き換える前にここに記載されているテキストもメモ帳にコピペしておき、何か不具合が起きた時もすぐに復旧できるようにしておくことが大事です。

WordPressの管理画面でデータベースの更新を行う

管理画面にアクセスすると、下記のような画面が表示されます。「WordPress データベースを更新」ボタンをクリックします。約数分ほど読み込みが始まりますので、待機します。

WordPress データベースを更新

4. WordPressへログイン

ログインできるようになっているのでログインし、左メニューからプラグインページに入ります。場合によってはプラグインがすべて停止されているケースもありますので、必要に応じて有効化し直してください。Head Cleanerは開発元が問題解決をするまで有効化せず、待つことをおすすめいたします。

まとめ

これにより、管理画面にアクセスできるようになり、エラーも解消されるようになります。ただし、データベースを直接編集するのは、ある程度の知識がないと余計にWordPressを壊しかねません。できるかぎり有識者の方にお願いするか、念入りにバックアップをとりながら、何か問題が起これば元の状態に戻すようにしましょう。

記事を書いたひと

superstarkei

森本 圭

代表取締役 CEO

Web周りすべてのコンサルタント・ディレクターとしてご相談を承ります。デザイン、コーディングそしてインターネット広告の運用も私自身が手掛けておりますので、内容の濃いコンサルティングが可能です。