PHP7.1以降、WordPress「重大なエラーを引き起こしたため、プラグインを有効化できませんでした」

WordPressで新しくインストールしたプラグインを有効化すると「重大なエラーを引き起こしたため、プラグインを有効化できませんでした」といった表示が出てきました。

PHPのバージョンが古い場合、バージョンアップで解決できることがあるということで、まず試みましたが今回は失敗に。私が使っているサーバーを調べてみたところPHPのバージョンは7.1でした。バージョンアップする項目にPHP7.2があったので選択して確認をしてみましたが、 エラーに変わりなく・・・。

かなり焦りましたが別に解決方法が見つかり、プラグインは有効化されました。
同じエラーが出た場合、他のプラグインにも当てはまるかもしれません。

今回は、PHP 7.1以降のWordpressで「重大なエラーを引き起こしたため、プラグインを有効化できませんでした」が出た時の対処法を紹介します。

修正する方法は次のとおりです。

①有効化ボタンをクリックして原因を調べる

有効化をクリックすると警告の下にどのPHPファイルのどの部分にエラーが発生しているのかも書かれているので、エディタで問題のあるファイルを開いて該当箇所をさがします。

重大なエラーを引き起こしたため、プラグインを有効化できませんでした

私の場合は

plugins/revslider/inc_php/framework/base_admin.class.php内の

self::$arrMetaBoxes[] = $box;

の部分がエラーの原因のようでした。

②コードを追加する

$エラーの部分と同じ変数名 = [];

を該当箇所の前に追加します。

self::$arrMetaBoxes = [];
self::$arrMetaBoxes[] = $box;

 

以上です。

修正したファイルをアップロードして、有効化をしてみるとちゃんと有効化できました。

その他の対処法

同様に$エラーの部分と同じ変数名 = array();を下記のように該当箇所の前に追加しても有効化できました。

self::$arrMetaBoxes = array();
self::$arrMetaBoxes[] = $box;

例えば・・・

$data[]= '<script type="text/javascript">' . NL;

なんて箇所にエラーが出ていたとします。

$data = array();

を該当箇所の前に追加します。

$data = array();
$data[] = '<script type="text/javascript">' . NL;

修正したファイルをアップロードして、有効化をしてみるとこちらもちゃんと有効化できるようです。

 

というわけで、今回はWordPressで「重大なエラーを引き起こしたため、プラグインを有効化できませんでした」が出た時の対処法の紹介でした。