WordPressでプラグインを更新したところ、「Fatal error: Cannot make static method AMP_Customizer_Design_Settings~」というエラーが出て、管理画面もサイトも見ることが出来なくなってしまいました。

はてなマーク

しかし、いろいろ調べた結果、無事にサイトを復旧させることが出来ました!

 

私がサイトを元に戻すことが出来た方法を紹介します。

プラグインを更新したらエラー?エラーメッセージはこんな感じ

8月5日、WordPressのプラグインをいくつか更新したところ、管理画面もサイトも見ることが出来なくなってしまいました。

 

そのときに出ていたエラーメッセージは、以下のようなものです。

 

Fatal error: Cannot make static method AMP_Customizer_Design_Settings::register_customizer_ui() non static in class AMPFORWP_Customizer_Design_Contols in /home/example/public_html/hoge/wp-content/plugins/accelerated-mobile-pages/templates/customizer/customizer.php on line 0

 

原因はプラグイン「Accelerated Mobile Pages」!

原因はおそらく更新したプラグインのどれかだろうと思い、表示されているエラーメッセージをよく見てみると・・・ありました!

 

plugins/accelerated-mobile-pages/

 

サイトに不具合を起こした原因のプラグインは「Accelerated Mobile Pages」と分かりました。

 

エラーの直し方!phpファイルを編集し、FTPソフトでアップロードさせて復旧

不具合を起こしたプラグイン「Accelerated Mobile Pages」の中にあるphpファイルを編集し、FTPソフトを使ってアップデートをしました。

 

まずはFTPソフトを使って、自分の使っているドメインのフォルダから、

「public_html」

→「wp-content」

→「plugins」

→「accelerated-mobile-pages」

→「templates」

→「customizer」

と、たどっていきます。

 

そして、「customizer」フォルダの中にある「customizer.php」を開きます。

FFFTP説明

 

phpファイルを開いて編集するときには、私は「TeraPad」を使っています。

 

「customizer.php」ファイルを開くと、44行目に

public  function register_customizer_ui( $wp_customize ) {

という表記があります。

 

これを

public static function register_customizer_ui( $wp_customize ) {

に変えて上書きし、デスクトップ上などに一旦保存します。

Terapad説明

 

そしてこの上書きした方の「customizer.php」ファイルを、FTPソフトの自分のサーバ側へアップロードすれば完了です。

 

これで、Wordpressの管理画面もサイトも元に戻りました。

 

プラグインの更新は慌てず1つずつ行うのが良い

自分が経験したWordpressのエラーで今回学んだことが2つあります。

それは

プラグインの更新はまとめて行わない

プラグインのバージョンアップ直後はトラブルのリスクが有る

ということです。

 

これまで自分はプラグインの更新は、複数のバッジがあればいつもまとめて行なっていました。

今回も複数のプラグイン更新をまとめて行なったので、エラーが起きたときには最初どのプラグインがエラーの原因なのか分からずに途方にくれました。

なので、万が一このような事態に再び陥らないようにするために、プラグインの更新は1つずつ行うのがよいと痛感しました。

 

それと、プラグインの更新はできるだけ早く行うのがよいと思っていたのですが、今回の件で「プラグインのバージョンアップ直後はトラブルのリスクがある」というのを知り、プラグインは慌ててバージョンアップしなくても良いというのを実感しました。

 

あと、これは基本的なことですが、やはり日頃からのこまめなバックアップは大切だと思いました。

いざというときにサイトを元に戻すことができるよう、何かサイトに変更を加えるときは事前にバックアップをとっておくことが安心だと、改めて学ぶことができました。