WordPressで何等かのトラブルが起き、閲覧画面(フロントエンド・訪問者が見る画面)が真っ白になったら・・・今まで書いてきた記事が全部なしになった??で頭も真っ白になりますね。
もちろんサイトのファイルやデータベースのデータが壊れてしまって起こったものなら復旧は不可能なのかもしれませんが、ひょっとしたら回復できるかもしれませんよ。
この現象が発生するときは、「管理画面は正常に表示できる」場合と「管理画面すら表示できない」場合があります。前者の場合はWordPressで作ったサイトそのものが壊れてしまったわけではなく、表示をつかさどるテーマに何等かのトラブルが起きたことが原因の場合がほとんどですからこの記事を参考に対処すれば復元可能かもしれません。逆に後者の場合はWordPressというツールの動作を理解していないと検証も修復も難しいですからプロに任せた方が無難でしょう。
単純にこのトラブルから脱するには、「テーマを別のものにすればいい」ということになるのですが、プラグインで不具合が起きたときのようにFTPなどでプラグイン名を変更すればひとまず強制停止されて復旧とはいかないのがこのテーマトラブルによる表示不具合です。
どうしてプラグインと同じ手順ではだめなの?ということについて簡単に解説しておくと、WordPressはサイトの情報をデータベースというデータの箱に格納し、そこから情報を引っ張り出してページを表示する仕組みになっています。サイトが動作するとき、有効化されているはずのプラグインの情報がなければ、「このプラグインは動作しない」と判断されて次の手順に進む(スキップされる)ようになっています。一方テーマはデータベース内に「このテーマを通して表示して!」と指示するデータに従って必ずそのテーマを通して表示させようとするため、テーマの不具合で表示画面が真っ白という状態になってしまうのです。
今回はテーマのトラブルが原因で閲覧画面が真っ白になったとき、データベースの情報を書き換えて一旦WordPressのデフォルトテーマに戻して復旧させる方法を紹介します。データベースの内容を書き換えますので「とりあえずやってみよう」というものではありませんので、やるかどうかは自己責任でお願いします。
WordPressのデフォルトテーマ「Twenty Seventeen」へ戻す方法
前述したように、本記事はサイトが現状「有効になっている」と認識しているテーマを「Twenty Seventeen」というWordPress標準テーマへ強制的に変更するものになります。
サイトの収容されている場所にある「wp-content」→「themes」フォルダ内に「Twenty Seventeen」テーマフォルダがない場合には、こちらからダウンロードできますので、テーマ入手後解凍してアップロードしておいてください。
「Twenty Seventeen」テーマの存在が確認できたら、以下の手順でテーマ変更を行います。
テーマリセット用のプログラムを作る
作る・・・なんて偉そうなこと書きましたが、基本的には
のコードを参考に変更するテーマを「Twenty Seventeen」としただけですので、詳しい説明はそちらのページを参照いただければと思います。
パソコンのコードエディタを開き、以下のコードをコピペ後に「theme-reset.php」として保存します。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>テーマをデフォルトに戻すよ</title>
</head>
<body>
<p>
<?php
$dir = dirname( FILE ) . '/';
if ( file_exists( $dir . 'wp-load.php' ) ) {
require_once( $dir . 'wp-load.php' );
}
else {
die( '同じディレクトリに wp-load.php が存在しません。' );
}
update_option( 'current_theme', 'Twenty Seventeen' );
update_option( 'template', 'twentyseventeen' );
update_option( 'stylesheet', 'twentyseventeen' );
echo 'テーマをデフォルトに戻しました。';
?>
</p>
</body>
</html>
サーバーへリセットプログラムをアップロードする
FTPを使って、該当サイトの「wp-config.php」があるのと同じ場所へ、先ほど作成した「theme-reset.php」をアップロードします。
テーマをリセットする(強制的に「Twenty Seventeen」を有効にする)
「サイトのURL/theme-reset.php」へアクセスします。
正常に完了すると「テーマをデフォルトに戻しました。」と表示され、テーマのリセットは完了です。
※404ページが表示された場合にはURLが正しいかを確認してください
※「同じディレクトリに wp-load.php が存在しません。」と表示された場合にはファイルのアップロード先を確認してください
テーマリセット後は「theme-reset.php」を削除してください
これでテーマを今まで使っていたものから「Twenty Seventeen」へと変更されます。冒頭に書いた通りテーマの問題であればこれで画面真っ白問題は解決です。

