WordPress

WordPressの画面が真っ白(エラー)になった時の対処法【functions.php・プラグイン】

以前WordPressのブログの見出しのデザインを変更しようと

「functions.php」にコードを追加していたとき

手違いでコピペミスしてしまい慌てて修正した後

ページの戻るボタンを押すと「エラーになり画面が真っ白に

新たなページでWordPressを開こうとしても画面が真っ白で

WordPressにすら入れない状態になりました。

「functions.php」は余計な改行、空白行を入れただけでも構文エラーになるので

「CSS」と同じ感覚で編集するのは危険なのを知らなかったんですよね。

 

このfunctions.phpでWordPress画面が真っ白になるエラーは

なんとか解決できたのですが

他にもWordPressの画面が真っ白になるエラーがあるみたいなので

そちらの解決方法も調べてみました。

WordPress画面にエラーメッセージが出ず真っ白な場合

画面にエラーメッセージが出ている場合は対処しやすいのですが

契約しているサーバーによってはWordPressデフォルト状態で

通常エラー画面になってもエラーメッセージは表示されません。

ただただ真っ白な画面。

 

この場合、契約サーバーのブログ情報内のwp-config.phpの設定を変更することで

真っ白な画面にエラーメッセージが出るようにします。

 

エックスサーバーの場合

まず契約一覧のサーバー欄にある「ファイル管理」を選択します。

MixHostの場合、cPanelにログインしたら「ファイルマネージャー」
ロリポップ!の場合サーバーの管理・設定内の「ロリポップ!FTP」
で同じようなファイル管理ページに移動できます。

次にwp-config.phpを契約サーバーのブログ情報内から探し出します。

場所は

/自身のサイト名/public_html/

というわけでまずはファイル管理ページにある自身のサイト名のフォルダを開きます。

 

次に自身のサイト名のフォルダの中にある

「public_html」フォルダを開きます。

 

次にwp-config.phpにチェックを入れて編集をクリックします。

 

編集画面に移動したら次のコードを探し出して「false」を「true」に置き換えます。

define(‘WP_DEBUG’, false);

define(‘WP_DEBUG’, true);

置き換えたら右側にある「保存する」をクリックします。

これでWordPress画面真っ白状態にエラーメッセージが表示されるはずです。

 

問題が解決したら必ず「true」を「false」に戻してください。

WordPress画面にエラーメッセージが出ている場合

こういう風にWordPressにエラーメッセージが表示されている場合

以下の問題が考えられます。

 

  • Parse error: syntax error

functions.phpの構文エラーによりWordPress画面が真っ白になっています。

↓functions.phpによるエラーの解決方法へジャンプ↓

 

  • Fatal error: Call to undefined function …
  • Fatal error: Cannot redeclare …

新しくインストールした、もしくは更新したプラグインが原因で

WordPress画面が真っ白になっています。

↓プラグインによるエラーの解決方法へジャンプ↓

 

functions.phpの内容変更によりWordPress画面が真っ白になるエラーの解決法(一部初期化)

functions.phpの内容を契約サーバー内にあるデータの変更、初期化をすることで

WordPress画面が真っ白になるエラーの解決を試みます。

 

functions.phpの編集内容に関して問題点が分かる場合

契約サーバー内にあるfunctions.phpデータの変更で解決できます。

Parse error: syntax error, unexpected ‘f’ (T_STRING) in /home/ohuton/mataneteta.com/public_html/wp-content/themes/cocoon-master/functions.php on line 11

例えばこのエラーの場合

「functions.phpの11行目がおかしいよ!」

と表示されています。意図的に11行目の

if ( !function_exists( ‘abspath’ ) ):

i f ( !function_exists( ‘abspath’ ) ):

と「i」と「f」の間にスペースを挟んだ変更をしただけでこのエラーになります。

functions.phpは余計な改行、空白行を入れただけでも構文エラーになります。

 

functions.phpの何が悪いか全くわからない場合

functions.phpはWordPressに適用した「テーマ」に収録されているコードなので

ダウンロードしたテーマから初期状態のfunctions.phpを探し出して

契約しているサーバーに直接アップロードして上書きします。

筆者の場合は「Cocoon」を使用しているのでCocoonを使って説明していきます。

まずは使用しているテーマの用意、配布元からテーマをダウンロードします。

 

次にダウンロードしたテーマを展開し、テーマファイルを開きます。

 

次にテーマファイルの中にある「functions.php」を探し出します。

 

次に契約しているサーバーにログインします。

エックスサーバーの場合

まず契約一覧のサーバー欄にある「ファイル管理」を選択します。

MixHostの場合、cPanelにログインしたら「ファイルマネージャー」
ロリポップ!の場合サーバーの管理・設定内の「ロリポップ!FTP」
で同じようなファイル管理ページに移動できます。

次にfunctions.phpを契約サーバーのブログ情報内から探し出します。

場所は

/自身のサイト名/public_html/wp-content/themes/使用中のテーマ/functions.php

というわけでまずはファイル管理ページにある自身のサイト名のフォルダを開きます。

 

次に自身のサイト名のフォルダの中にある

「public_html→wp-content→themes→使用中のテーマ」

とフォルダを開いていきます。

 

使用中のテーマファイルの中にfunctions.phpファイルがあります。

 

functions.phpの内容の問題が分かっている場合

functions.phpの左側にあるボックスにチェックを入れて

ページ右上にある「編集」ボタンをクリック。

functions.php編集画面に移動するのでそこで問題の箇所を修正。

 

functions.phpの内容の問題が全く分からない場合

ページ右側にある「ファイルのアップロード」内にて「ファイルを選択」をクリック。

先程入手したテーマファイルの中にある「初期状態のfunctions.php」を選択し

「アップロード」をクリックすることでfunctions.phpが初期状態に置き換わります。

初期状態に置き換えるので

functions.phpdで変更した見出しなどのデザインが初期化されます。

 

以上がfunctions.phpの内容変更により

WordPress画面が真っ白になるエラーの解決法(一部初期化)でした。

最初のほうで記載しましたが

functions.phpは余計な改行、空白行を入れただけでも構文エラーになります。

編集するときはバックアップを取っておきましょう。

 

プラグインによりWordPress画面が真っ白になるエラーの解決法

プラグインとWordPressのバージョンが合わなかったり

プラグインとPHPのバージョンが合わない場合にエラーが出たり

プラグイン自体がWordPress事態に何かしら影響を与えてエラーを出した場合

プラグインを無効化することで解決することがあります。

キャッシュ系プラグイン(特に「W3 Total Cache」)が

問題を起こすことが多いみたいです。

 

WordPressにログインできる場合

プラグインをすべて無効化して1つずつ有効化し原因のプラグインを特定します。

 

WordPressにログインできない場合

WordPressにログインできず画面が真っ白の場合

まず契約しているサーバーにログインします。

エックスサーバーの場合

まず契約一覧のサーバー欄にある「ファイル管理」を選択します。

MixHostの場合、cPanelにログインしたら「ファイルマネージャー」
ロリポップ!の場合サーバーの管理・設定内の「ロリポップ!FTP」
で同じようなファイル管理ページに移動できます。

次にプラグインが入ったファイルを契約サーバーのブログ情報内から探し出します。

場所は

/自身のサイト名/public_html/wp-content

というわけでまずはファイル管理ページにある自身のサイト名のフォルダを開きます。

 

次に自身のサイト名のフォルダの中にある

「public_html→wp-content」

とフォルダを開いていきます。

 

次にpluginsのフォルダを探し出してチェックを入れた後ファイル名を変更します。

その際ファイル名に何か文字を追加するだけですべてのプラグインが無効になります。

 

ファイル名を変更しプラグインを無効化したことで

WordPressにログインできるようになった場合

プラグインがWordPress画面を真っ白にしている原因です。

WordPressでプラグインの画面に戻ると

インストールされたプラグインが見つからないというメッセージが出てると思います。

なので先ほど文字を追加して変更したpluginsファイルをもとの名称に戻します。

pluginsの名称を戻すとすべてのプラグインが無効化された状態で復活します

1つずつ有効化し画面を更新することで原因のプラグインを特定していきます。

原因としては

  • プラグインが事態に問題があった
  • プラグイン同士が衝突を起こしエラーを引き起こしていた
  • 導入しているテーマと相性が悪い

などが挙げられます。

 

プラグインを無効化してもWordPressが真っ白なままの場合

無効化しても問題が解決しない場合

キャッシュプラグインが残したキャッシュが問題の可能性があります。

キャッシュを削除することで問題が解決するはずです。

プラグインが無効化しても残るキャッシュに関しては

入れているプラグインによって仕様が変わっているため

単に「このキャッシュを消せばいいよ!」と言えないのが現状です。

プラグインの中には「キャッシュを消す」機能があるものもあるみたいで

またエックスサーバーのサーバーパネルにある

「サーバーキャッシュ設定」からキャッシュを削除できるようなのですが

こちらに関しては未確認のため確認でき次第追記していきたいと思います。

 

テーマ変更によりWordPress画面が真っ白になるエラーの解決法

新しいテーマを有効化しただけでWordPress画面が真っ白になるエラーになった場合

デフォルトで用意されているテーマ「WordPress Twenty Sixteen」にしてみて

WordPressにログインできるか確認できたら

テーマ配布元に問い合わせてみてください。

 

WordPressにログインできずテーマの変更ができない場合

契約サーバーに保存されているブログ情報から

WordPressテーマを見つけ出し名前を変更することでテーマを変更できます。

もしくは有効化しているテーマを削除することで

自動的にインストールされている別テーマが有効になります。

 

まず契約しているサーバーにログインします。

エックスサーバーの場合

契約一覧のサーバー欄にある「ファイル管理」を選択します。

MixHostの場合、cPanelにログインしたら「ファイルマネージャー」
ロリポップ!の場合サーバーの管理・設定内の「ロリポップ!FTP」
で同じようなファイル管理ページに移動できます。

次にWordPressテーマを契約サーバーのブログ情報内から探し出します。

場所は

/自身のサイト名/public_html/wp-content/themes/使用中のテーマ

というわけでまずはファイル管理ページにある自身のサイト名のフォルダを開きます。

 

次に自身のサイト名のフォルダの中にある

「public_html→wp-content→themes」

とフォルダを開いていきます。

 

この適用しているテーマの名前を

変更、もしくは削除することでテーマの変更が可能です。