[WordPress]「サイトで技術的な 問題が発生しています」 となったら
WordPressのプラグインの更新をしたり、サーバーでPHPのバージョンを上げたりした際に、サイトが表示されず、「サイトで技術的な 問題が発生しています」と表示される事があります。焦りますし、怖いですよね。
予防策
- プラグインの更新は自動設定にしない
- 作業前にバックアップを必ず取る
- ローカル環境でテストしてから作業する (確実な方法)
- PHP Compatibility Checkerで確認する
復旧するには
「サイトで技術的な 問題が発生しています」となると、自動的に管理者のメールアドレスに通知が届きます。
プラグインのアップデートでトラブルになった場合
ダッシュボードにアクセスできる場合は、とりあえずプラグインを「無効」にします。
アクセスできない場合は、管理者宛てのメールに ”もしサイトが壊れていてダッシュボードに正常に接続できない場合、WordPress には特別な「リカバリーモード」があります。これによりダッシュボードに安全にログインし、さらに調査をすることができます。” とあるので、アクセスします。
PHPのアップデートでトラブルになった場合
メールには、何が原因でこの様な事態になってしまったのか、下記の様に細かく書かれています。
この問題を解決するためにヘルプを求めた場合、以下の情報を尋ねられるかもしれません。
WordPress バーション6.8.2
現在のテーマ:
現在のプラグイン: Biz Calendar (バージョン 2.2.0)
PHP バージョン8.3.22
エラー詳細
エラータイプ E_ERROR が /home/users/1/・・・・・/web/wp-hp/wp-content/plugins/biz-calendar/biz-calendar.php ファイルの 73 行目で発生しました。 エラーメッセージ: Uncaught Error: Call to undefined function create_function() in /home/users/1/・・・・・/web/wp-hp/wp-content/plugins/biz-calendar/biz-calendar.php:73
ダッシュボードにアクセスできないと思いますので、リンクからアクセスし、問題のプラグインを「無効」にし、サイトが表示できるようになった確認します。
問題のプラグイン情報を調べ、代替えに乗り換えるなり、修正案で切り抜けるか調査します。
とにかく急ぐ時は、とりあえずPHPのバージョンを戻せばサイトが表示されます。(完全に壊れていれば別ですが)改めて、問題を調査してからリトライした方が良いと思います。
Biz Calendar PHP8で起きるエラー
一例としてBiz Calendarのエラーについてシェアします。
Biz Calendar (バージョン 2.2.0)で、更新が止まっています。このバージョンのままでは使えません。
メールに書いてあるように、plugins/biz-calendar/biz-calendar.php ファイルの 73 行目に問題があるようです。検索したところ、ありがたい事に情報提供がありました。

該当ファイルをFTPでダウンロードし、73行目を下記の様に書き換えます。
//new
add_action( 'widgets_init', function(){register_widget( "bizcalendarwidget" );});書き換え後(古いコードは削除しても、//コメントアウトしてもOKです)
public function __construct(){
register_activation_hook(__FILE__, array(&$this,'on_activation'));
add_action( 'admin_init', array(&$this,'on_admin_init') );
add_action( 'admin_menu', array(&$this, 'on_admin_menu'));
add_action( 'wp_enqueue_scripts', array(&$this,'on_enqueue_scripts'));
add_action( 'wp_ajax_upload_holidays', array(&$this,'upload_holidays') );
//add_action( 'widgets_init', create_function( '', 'register_widget( "bizcalendarwidget" );' ) );
// new
add_action( 'widgets_init', function(){register_widget( "bizcalendarwidget" );});
}ファイルをアップロードし、プラグインを「有効」にして表示確認をします。


コメント ※ハンドルネームでお願いします