[ WordPress ] Fatal error: Cannot redeclare… が発生した場合の復旧方法

[ WordPress ] Fatal error: Cannot redeclare… が発生した場合の復旧方法

はじめに

WordPressに関する Tips情報です。
WordPressを操作していたら、突然ブラウザの画面が「Fatal error: Cannot redeclare… 」になってしまった場合の復旧方法について記事にしたいと思います。

Fatal error: Cannot redeclare example-child_is_not_static_front_page() (previously declared in /home/labo/public_html/wordpress/wp-content/themes/example-child/functions.php:158) in /home/labo/public_html/wordpress/wp-content/themes/example/functions.php on line 161

復旧方法

画面が真っ白な場合

Fatal error: 以前に画面が真っ白な場合は WordPress 側でデバッグモードを有効設定にし、エラー内容を表示させます。
その上で、エラー内容を元に原因を調査していきます。
wordpress/wp-config.php 内に以下のデバッグモードフラグを有効の設定にします。

define(‘WP_DEBUG’, true)

※復旧したら true の部分を false に修正しておきます。

復旧作業前にバックアップ

復旧作業で別の問題が発生する場合もありますので、作業前の状態に戻せるように現状のバックアップを取得します。
バックアップは以下の2点が必要です。

  • WordPress のフォルダごとまるごとバックアップ
  • WordPress が利用しているデータベースのバックアップ

WordPressの入っているディレクトリ(フォルダ)を別の場所にコピーします。
データベースのバックアップについては「phpmyadmin」や「MySQL Workbench」等のツールでダンプファイルを取得します。

Fatal error: Cannot redeclare…の復旧手順

まずはエラー内容を確認します。
今回は、wp-content/themes/example-child/functions.php:158 とありますので、

  • functions.php 158行目の内容を確認し、対処する
  • functions.php 自体が親テーマの functions.php からカスタマイズしていなければ、削除する

となります。

一時的に親テーマの内容でよければ、 wp-content/themes/example-child ディレクトリを別の場所に移動する事で、表示ができます。

まとめ

「Fatal error: Cannot redeclare… 」が発生した場合、大体がプラグイン / テーマに問題があります。
可能性のあるプラグイン / テーマフォルダを外していくことで復旧する可能性がありますので、
焦らず一つ一つ試してみる事をおすすめします。

[amazonjs asin=”4797381078″ locale=”JP” title=”本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版”]
[amazonjs asin=”4798130931″ locale=”JP” title=”一歩先にいくWordPressのカスタマイズがわかる本”]