Wordpressのカスタマイズで良く触るファイルにfunctions.phpがありますが、コードの間違いなどで編集に失敗するとサイトが正常に表示できなくなります。
サイトにアクセスすると「このサイトで重大なエラーが発生しました。対応手順については~…」という文字が表示されてしまうため、管理画面にログインすら出来なくなります。
特にWordpress初心者の頃は頭も真っ白になりますが、このエラーは比較的簡単に復旧できますので落ち着いて対処しましょう。
復旧方法は編集したfunctions.phpの内容を元に戻すだけでOK!
functions.phpの編集に失敗した時の復旧方法
functions.php内に記述したプログラムにエラーがあると、サイトにアクセスした時に以下のようなエラー画面が表示されます。
このサイトで重大なエラーが発生しました。対応手順については、サイト管理者のメール受信ボックスを確認してください。
この状態になってしまうとサイトを正常に表示するどころか、Wordpressの管理画面にもログインできなくなってしまいます。
トラブルシューティングを確認しても様々なエラーと対処法が一覧になっているだけで、イマイチ何をどうすれば良いのか分かりにくかったりしますが…
functions.phpの編集が原因で上記のようなエラー画面が表示された場合は、functions.phpの内容を元通りに戻すことで簡単に復旧できます。
解決方法は単純ですが、元のコードが分からない!という方もおられるかと思いますので、functions.phpを元に戻すために使える方法をいくつかご紹介します。
functions.phpを元通りに戻す手順
functions.phpを元通りに戻す手順は以下です。
- FTP又は、サーバー会社のファイル管理ツールなどでサーバーにログイン。
- 編集した(子テーマ内の)functions.phpをダウンロード。
- エラー箇所を修正するorバックアップを用意。
- 編集したfunctions.phpを上書き保存。
ここでは初めての方のために各工程を詳しくご説明していきます・w・
functions.phpの場所や編集方法について、詳しくは別の記事にも書いていますので、こちらの記事も参考にしながら作業に取り掛かっていただければと思います↓。
サーバーにログインする
管理画面にアクセスできない状態ですので、FPTソフトまたはレンタルサーバー会社のファイル管理ツールなどを使ってサーバーにログインします。
(管理画面にログインできないのでテーマエディターが使えない。)
初心者の方でFTPソフトって何?という方は各サーバー会社が提供しているファイル管理ツールでも簡単にサーバー上のファイルにアクセスできます。
ファイル管理ツールはホスティング会社によって呼び名が変わりますが、国内で有名なサーバーであるXserverとMixhostでは以下のような感じです。
- Xserver:サーバー会社の管理画面にログイン後、トップページ>サーバー>ファイル管理で起動。
- Mixhost:サーバー会社の管理画面にログイン後、ショートカット>ファイルマネージャーを起動。(cPanelからファイルマネージャーを起動してもOK)
現在、ほどんどのレンタルサーバー会社がサーバー上のファイルを簡単に操作できる何かしらのツールを提供していることかと思います。
FTPソフトが使える方はFTPでもOKですが、ツールを使った方が楽かもしれません。
functions.phpの内容を元に戻す
サーバー上のfunctions.phpに辿り着いたら早速元に戻します。
元のファイルのバックアップがあれば、そちらを同じ場所にアップロードして上書き保存すればOK!
functions.phpのバックアップなんかない!という方は朗報です。
というのも、殆どのレンタルサーバー会社で自動的にサイトデータのバックアップを作成してくれています。
サーバーを契約した時から一定時間ごとにバックアップを取ってくれており、数週間以内であればバックアップデータをサーバー会社のサーバーからダウンロードすることが出来ます。
僕は今まで国外の複数サーバーを契約しましたが、自動バックアップがないところはありませんでした。是非一度ご確認ください。
自動バックアップが入手できれば、functions.phpのみをアップロードし直して上書き保存すれば復旧できます。
手動でエラーを修正する際の補足
functions.phpはPHPファイルなので、プログラミングが分かる方はエラーを吐いている部分を手動で修正してもOKです。
注意点としてはサイトにアクセス時にエラーが出ている箇所と実際のプログラミングのエラー箇所の行数は異なることが多いという点です。
例えば今回の場合は本当のエラー箇所は3行目ですが…
サイト上では16行目にエラーがあるよ!と出ます。
なおコードのコピペが多いfunctions.phpでエラーが出やすい原因は以下です。
- ソースコードのどこかに全角スペースが入っている。
- 開始タグ「<?php」が余計に入っている。
- 変なところに終了タグ「?>」が入っている。
PHPの文法チェックを行うサイトもあります。適宜活用させていただきましょう!
詳しい方ならこの手の情報は必要ないと思うのでこのへんで。
まとめ
functions.phpの編集ミスが原因でサイトにエラーが出たり、管理画面にログインできなくなった時の対処法でした。
解決策は編集した箇所を元に戻すだけ。という単純なものですが、誰にでも初めてがありますので詳しく書いてみました。
Wordpress上のファイルを編集するなら編集前のファイルをパソコンにダウンロードしてから編集することで、いざという時に上書き保存するだけで復旧できます。
何かの役に立てたなら幸いです・w・