WordPressテーマインストール時、エラーで画面真っ白を復旧させた方法(unexpected T_FUNCTION)

更新: 2021/03/04 2614文字

WordPressテーマインストール時、エラーで画面真っ白を復旧させた方法(unexpected T_FUNCTION)

今回は、管理人がメインで使ってるweb製作ツールWordPressで、たまに発生するエラーから復旧した方法を紹介します。ちょっとしたエラーでサイト真っ白みたいなリスクがあります(WordPress勢の頭を悩ませるポイントです)。今回は、『WordPressテーマインストール時、エラーで画面真っ白』を復旧させる方法を、何通りか紹介します。

今回のWordPress・エラーで画面真っ白の概要(テーマインストール時に発生)

確かこのときは、新しくサイトをやる件で、『適切なテーマはどれか?』というので、いろいろなテーマを試していたわけです。定番の『スティンガーplus2』というのもありました。このサイトテーマには旧型のスティンガー5が入っているし、以前スティンガーplusも試しに入れてみて大丈夫だったので、特に気にしなかったんですけど・・・

なぜか、エラーで画面が真っ白に。画面の表示は『Parse error:Syntax Error (構文エラー)』みたいな表示が出て真っ白に。『ワードプレスよくある悲劇』のひとつです。ログインしてテーマをアンインストール・または『line○○』と場所がわかっているから、エラー箇所のphpを修正できればどうにかなりそうです。しかし『ログインなどのページもエラーメッセージだけで真っ白』みたいな感じ。

スティンガー5は大丈夫だったけど、バージョンによる相性とかもあるかもしれません(調査したところ、unexpected T_FUNCTIONがphpバージョンによって発生しているという事例もありました。)。さてどうしましょうか。

テーマインストール時のSyntax Error などで、WordPressが動かない場合の対処例

(バージョン変更できる場合)サーバーでPHPバージョン上げる

『Parse error:Syntax Error,unexpected T_FUNCTION』というエラーメッセージに注目しました。Anonymous functions (無名関数)というのがあるんですけど、古いバージョンPHP(5.2より前とか)だと動かなくてこのエラーになるらしいです。

その場合は、サーバー側でバージョンを上げて対応します。『プラグイン・テーマでバージョン合わないエラー』は結構出るのでおさえておきましょう。

(バージョン弄れない場合)エラー出してるphpコードを直す

(画像はイメージで、実際にエラーが起こったぶぶんとは違います。)エラー場所が出ているので(line○○など)、php書ける方は、この手法を行ってもよいでしょう。サーバーのPHPバージョンやエラー箇所の表記を確認し、検索したり書き換えたりします。これやデータベース弄りができると、どんなエラーが起こっても怖くなくなります。ただしハードルはブログ初心者などにはかなり高いけど(笑)

ただし、今回の記事のように『新しいテーマをインストールしたとき』の発生で、テーマファイル構造を押さえられていないときは、時間がかかります。

(最終手段)エラーが出たテーマ自体を、サーバーのftp画面から削除

今回発生したのが『テーマインストール時』という点に着目した、カンタンな方法。サーバーに『201708wp』という名前のフォルダを作ってワードプレスを入れたんですけど、『201708wp/wp-content/themes/』という部分に、テーマのデータが入っています。エラー吐き出したテーマを探しましょう。

管理画面にすら入れないなら、サーバーのftpから入って、このエラー吐き出したテーマを削除します。無理やりな方法ですが、これで管理画面は入れるようになり、『サイト真っ白』は避けることができました。

(2021追記)デフォルトテーマが入っている場合は、データベースからエラーテーマを無効化

こちらは追記です。『正しく動くWPデフォルトテーマが他に入っている』場合は、データベースから操作して正しく動くデフォルトテーマに戻すことが可能です。『wp_optionsテーブル・ option_name:template & stylesheet』を操作します。

詳しくは当サイトの関連記事を読んでみてください。

あとがき・まとめ

  • WordPressで、テーマインストール時にエラーになることがある
  • エラーメッセ『Parse error:Syntax Error,unexpected T_FUNCTION』は、PHPバージョン調整で対応
  • バージョン弄れない場合は、該当ファイル修正すればよいが、構造を理解していない場合時間がかかる
  • 正しく動くWPデフォルトテーマが他に入っている場合、FTPから該当テーマ削除・またはデータベースから戻す

まとめるとこのようなところでしょうか。特にデータベース戻しが使えると、エラー時の復旧がラクになりそうです。

このほかにも『WordPress url間違えて、かつ正しいバージョンを忘れたので、wp-config.phpを修正しようにもわからん』みたいなときに、『サーバーからエディットしたcssや、データベースから記事ぶっこ抜いて保存&新規インストールで乗り切った』『データベースからエラープラグインやテーマを切り替えた』みたいな事例もあるので今後紹介します。

WordPressサイト制作&リニューアル・機能開発サービス | アトリエSS


【カテゴリ】- サイトエラー対策と復旧(wp/php/css)
【タグ】-

関連記事

【WordPress4.9.7でのエラー検出】子テーマでindex.phpやCSSヘッダが無いときの『テーマが壊れています』表示への対策
【wordpressエラー原因】Parse error: syntax error画面真っ白は、プラグインorサーバーのPHPバージョンが合わない
MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う方法【エラー・管理画面に入れないときに】
WordPress 5.2がサーバーPHP5.6.2以下で動かなくなる事例~更新や閲覧はできる?バージョンアップの注意点は?
CSSの『Expected RBRACE 』エラーって何なの?(WordPress4.9で判明)
【WordPress/エラー対策】プラグインbizcalendarが改造テーマで表示しない事例
WordPressテーマインストール時、エラーで画面真っ白を復旧させた方法(unexpected T_FUNCTION)
WordPress構成ファイルのxmlrpc.phpを無効化する方法【実は攻撃されやすい】
【WordPress・WP_Query】おすすめ関連記事が、いつも同じものしか出ません→パラメーターorderbyに『rand』でランダム表示
【PageSpeed Insightsエラー】リクエストしたページを Lighthouse で正確に読み込めません→WPでメンテにしてました
WordPressをcookie関連設定でログイン不可能にしてみた(cookieブロック・トークン削除・ログイン成功cookie削除)
フラッシュ形式のオーディオ・動画プレイヤーが表示されません(Adobe Flash Player終了)