私物を晒し中 ↓

【解決】WordPressで「重大なエラー」が出て管理画面に入れない時の対処法(WP_Widgetエラー)

WordPressのブログに突然アクセスできなくなり、次のようなエラーが表示されました。

Fatal error: Uncaught ArgumentCountError: Too few arguments to function WP_Widget::__construct(), 0 passed in /home/xxxxx/あなたのドメイン/public_html/wp-includes/class-wp-widget-factory.php on line 62 and at least 2 expected in /home/xxxxx/あなたのドメイン/public_html/wp-includes/class-wp-widget.php:163 Stack trace: #0 /home/xxxxx/あなたのドメイン/public_html/wp-includes/class-wp-widget-factory.php(62): WP_Widget->__construct() #1 /home/xxxxx/あなたのドメイン/public_html/wp-includes/widgets.php(123): WP_Widget_Factory->register('local_time_cloc...') #2 /home/xxxxx/あなたのドメイン/public_html/wp-content/plugins/local-time-clock/local_time_clock.php(28): register_widget('local_time_cloc...') #3 /home/xxxxx/あなたのドメイン/public_html/wp-includes/class-wp-hook.php(341): load_local_time_clock('') #4 /home/xxxxx/あなたのドメイン/public_html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters(NULL, Array) #5 /home/xxxxx/あなたのドメイン/public_html/wp-includes/plugin.php(522): WP_Hook->do_action(Array) #6 /home/xxxxx/あなたのドメイン/public_html/wp-includes/widgets.php(1884): do_action('widgets_init') #7 /home/xxxxx/あなたのドメイン/public_html/wp-includes/class-wp-hook.php(341): wp_widgets_init('') #8 /home/xxxxx/あなたのドメイン/public_html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters(NULL, Array) #9 /home/xxxxx/あなたのドメイン/public_html/wp-includes/plugin.php(522): WP_Hook->do_action(Array) #10 /home/xxxxx/あなたのドメイン/public_html/wp-settings.php(742): do_action('init') #11 /home/xxxxx/あなたのドメイン/public_html/wp-config.php(93): require_once('/home/xxxxx/...') #12 /home/xxxxx/あなたのドメイン/public_html/wp-load.php(50): require_once('/home/xxxxx/...') #13 /home/xxxxx/あなたのドメイン/public_html/wp-blog-header.php(13): require_once('/home/xxxxx/...') #14 /home/xxxxx/あなたのドメイン/public_html/index.php(17): require('/home/xxxxx/...') #15 {main} thrown in /home/xxxxx/あなたのドメイン/public_html/wp-includes/class-wp-widget.php on line 163

さらに、

このサイトで重大なエラーが発生しました。

と表示され、管理画面(wp-admin)にもログインできない状態になりました。

かなり焦りますが、このエラーは初心者でも解決できます。

この記事では、実際に復旧した方法をわかりやすく解説します。


目次

結論:原因はプラグイン

今回の原因は次のプラグインでした。

local-time-clock

このプラグインが現在のPHP環境に対応しておらず、エラーを引き起こしていました。


エラーの意味(WP_Widgetエラーとは?)

エラーのポイント

WP_Widget::__construct()

これはWordPressの「ウィジェット機能」の処理です。


なぜエラーが起きるのか

主な原因はこの組み合わせです。

  • 古いプラグイン
  • 新しいPHP(7〜8系)

👉 必要な引数が足りずエラーになる(ArgumentCountError)


解決方法(管理画面に入れなくてもOK)

やることはこれだけ

👉 プラグインを強制的に停止する


手順(エックスサーバー)

① サーバーパネルにログイン

エックスサーバーのサーバーパネルにログインします。


② ファイル管理を開く

「ファイル管理」をクリックします。


③ WordPressフォルダへ移動

public_html
→ あなたのドメイン
→ wp-content
→ plugins

④ 問題のプラグインを探す

local-time-clock

※📁フォルダです


⑤ フォルダ名を変更する(最重要)

local-time-clock
↓
local-time-clock-disabled

フォルダ名を変えたいのに、「名前変更」ボタンが暗くなっていてクリック出来ない場合は、左のツリーではなく中央のツリーからフォルダを探しましょう。


これでどうなる?

この操作をすると👇

  • プラグインが無効化される
  • エラーが消える
  • サイトが表示される
  • 管理画面に入れるようになる

実際の結果

この方法で

👉 すぐにサイトが復旧しました


復旧後にやるべきこと

① プラグインを削除または更新

今回のようなプラグインは

👉 古い可能性が高い

ため削除がおすすめです。


② 代替プラグインを使う

同じ機能でも、現在も更新されているものを使いましょう。


どうしても直らない場合

すべてのプラグインを停止する方法です。

wp-content/plugins
↓
wp-content/plugins-disabled

よくある質問

ファイルを削除したの?

👉 いいえ、名前を変えただけです


元に戻せる?

👉 フォルダ名を戻せばOKです


この方法は安全?

👉 一般的な復旧方法で安全です


まとめ

  • 「重大なエラー」はプラグインが原因のことが多い
  • 管理画面に入れなくても対応できる
  • フォルダ名変更で強制停止できる
  • 初心者でも5分で復旧可能

同じ症状で困っている方へ

今回のように

  • 突然サイトが開けない
  • 管理画面にも入れない
  • Fatal errorが表示される

という場合は

👉 まずプラグインを疑うことが重要です

落ち着いて対処すれば、必ず復旧できます。

この記事が参考になれば嬉しいです。

  • URLをコピーしました!
目次