functions.phpの変更後にエラーで画面が真っ白になったとき
WordPressテーマのfunctions.phpは特別に注意が必要なファイルで、編集するときに1文字間違えるとアウトです。ダッシュボードやサイトにエラーメッセージが表示されて画面が真っ白になってしまいます。
ダッシュボードにはアクセスできなくなります。
そのような状況になるたびにWordPressを再インストールしている方もいるようなので、そこまでしなくても復旧できる裏技のような復旧方法を紹介します。
WordPressを再インストールする前に試してみてください。
復旧する方法は簡単に言えば、FTPツールを使ってテーマのフォルダを削除するというだけです。
この作業を行うと、テーマの中に書き込んだカスタマイズ用のコードも削除されます。「WordPress本体を再インストールするよりはマシ」ということで単純にテーマフォルダを削除する方法を紹介しますが、カスタマイズのために書き込んだコードが消えてしまっては困るという方は、以下の手順でテーマフォルダを削除する前にテーマのフォルダをバックアップしておいてください。
以下、ロリポップレンタルサーバーの例で説明しますが、他のレンタルサーバーやFTPソフトウェアを使っても同じ作業ができるので参考にしてください。
ロリポップを含めて主なレンタルサーバーのFTPツールは次のメニューから使用可能です。
- ロリポップ --- 「Webツール」‐「ロリポップFTP」メニュー
- さくらインターネット --- 「運用に便利なツール」‐「ファイルマネージャー」メニュー
- エックスサーバー --- インフォパネルの「ファイルマネージャ」メニュー
ロリポップレンタルサーバーのユーザー専用ページにあるメニューから「Webツール」‐「ロリポップ!FTP」を選択してロリポップ!FTPにアクセスします。
WordPressをインストールしたフォルダを開きます。
wp-contentフォルダを開きます。
themesフォルダを開きます。
使用中のテーマが格納されているフォルダ(1)(例:Twenty Fourteenの場合はtwentyfourteen)をチェックして「削除する」(2)をクリックします。
※削除するとテーマに記述したカスタマイズ用のコードも全て削除されます。削除前にテーマをバックアップしたい方はテーマフォルダのバックアップも参考にしてください。
削除確認が表示されるので「OK」ボタンをクリックします。
フォルダが削除されたことを確認します。
ダッシュボードに戻って、ブラウザを更新します。「選択したテーマはありません。」のようなエラーメッセージが表示されるかもしれません。
ここであせらず、ダッシュボードのアドレス(例:http://example.com/wp-admin)にアクセスしましょう。
なんとか、ダッシュボードが表示されるようになるはずです。
ところが、「外観」-「テーマ」メニューにアクセスすると、「エラー: テーマディレクトリ "twentyfourteen" がありません。」のような警告が表示され、テーマのサムネイルも表示されません。
ここでもあせらずに、テーマの「新規追加」をクリックしてテーマを再インストールしましょう。
テーマを検索して「インストール」をクリックします(WordPressのバージョンによってメニューが異なるので、適宜、読み替えてください)。または入手済みのテーマファイルをアップロードしてインストールしましょう。
有効化すれば、何事もなかったようにテーマが元に戻ります。ただし、カスタマイズしたコードは消えていますが。
サイト表示も元通りに戻るはずですが、メインメニューやヘッダー画像などはリセットされているかもしれないので、「外観」-「メニュー」や「外観」-「ヘッダー」から選び直しましょう。
テーマフォルダのバックアップ
テーマフォルダをバックアップするには、フォルダをチェックして「コピーする」をクリックします。
※ロリポップ!FTP特有の機能です。他のレンタルサーバーやFTPソフトウェアの場合は、その機能を活用してください。
コピー先のフォルダを選択して、「このフォルダへコピーする」をクリックします。ここでは便宜上、wp-content/uploadsフォルダを選択しています。
テーマフォルダがコピーされます。