WordPress「An error occurred, please try again」:プラグインのライセンス確認が失敗する原因と通知の削除
WordPressの「An error occurred, please try again.」通知は、プレミアムプラグインがライセンスサーバーに確認を要求して正常な応答を受け取れなかったときに、管理画面の上部に表示するエラー通知です。この通知が表示されたサーバーで文言からプラグインを特定し、同じプラグインでライセンスサーバーの応答を変えて再現した結果、サーバー復旧後も1時間残る通知は再試行待機の値を削除して解決できました。
Essential Blocks Proはこの通知をすべての管理画面に表示し、ライセンスサーバーが503を返したかHTMLを返したかによって、通知が残る時間が異なります。
1️⃣ WordPress「An error occurred」:通知を表示したプラグインを探す
WordPress管理画面 の上部に表示されるためWordPress本体のエラーに見えますが、WordPressのコアファイルにこの文言はありません。文言はプラグインのライセンス確認コードに含まれているため、プラグインフォルダー内で文言を検索すると、通知を表示したプラグインを特定できます。
文言を検索するときは、カンマとピリオドを区別します。ピリオドで区切られた [An error occurred. Please try again.] はWordPressコアの文言で、ダッシュボードの [WordPress イベントとニュース] ウィジェットで都市を検索してイベント情報を取得できなかったときに、画面上部ではなくウィジェット内に表示されます。
末尾に [later] が付くコアの文言は、テーマ・プラグインのファイルエディターで保存したファイルがエラーを起こして元に戻すときと、カスタマイザー画面で使われます。コアの文言はWordPressの日本語翻訳ファイルに日本語の文が入っていますが、Essential Blocks Proには日本語の翻訳ファイルがないため、日本語の管理画面でもライセンス通知は英語のまま表示されます。
grep -rl 'An error occurred, please try again' wp-content/plugins --include=*.phpwp-content/plugins/essential-blocks-pro/includes/Deps/WPDeveloper/Licensing/Manager.phpコマンドはWordPressのインストールフォルダーで実行し、結果のパスで wp-content/plugins の次に来るフォルダー名がそのプラグインです。この文言はEssential Blocks Proのほか、Advanced Database Cleaner Proのライセンス確認コードと、TranslatePressのAI APIキー確認コードにも含まれています。
結果が複数ある場合は、管理画面のページソースで通知ボックスのクラス名を確認します。Essential Blocks Proの通知は [essential-blocks-pro-notice] クラスを使っています。
2️⃣ 通知が表示される場合:503・HTML応答とタイムアウト
Essential Blocks Proは管理画面を開くたびに保存されたライセンス情報があるか確認し、なければライセンスサーバーに確認を要求します。下のダイアグラムは、ライセンスサーバーの応答だけを変えながら管理画面を開いて確認した結果です。
503のように200以外の応答と、200でも本文がJSONではなくHTMLの応答で、この通知が表示されます。15秒以内に応答がない場合や接続自体が失敗した場合は、WordPressが返したcURLエラーの内容がそのまま通知に表示されるため、この場合は別の文言の通知を目にすることになります。
正常な応答で保存されたライセンス情報は3か月間保持され、その間はライセンスサーバーに障害があっても確認要求を送らないため、通知は表示されません。
3️⃣ サーバー復旧後も残る通知の削除
ライセンスサーバーが正常に戻っても、通知はすぐには消えません。503やタイムアウトで失敗するとプラグインは1時間の再試行待機を設定し、その間は確認要求を送らず、保存された通知を表示し続けます。
wp option list --search='wpdeveloper_sl_failed_http_*'option_name option_value
wpdeveloper_sl_failed_http_7838117baf19d8c92e668c95a04a2642 1792071902値は待機が終わる時刻(UNIX時間)で、オプション名の末尾の文字列はライセンスサーバーのアドレスから作られた値のため、同じプラグインならサイトが違っても同じです。
wp option delete wpdeveloper_sl_failed_http_7838117baf19d8c92e668c95a04a2642Success: Deleted 'wpdeveloper_sl_failed_http_7838117baf19d8c92e668c95a04a2642' option.削除後に投稿一覧を開き直すと、プラグインがライセンスサーバーに再確認し、正常な応答が返れば通知は消えます。ライセンスサーバーの障害が続いている間は再び503を受け取って同じ通知と1時間の待機が新たに設定されるため、削除はライセンスサーバーが正常に戻ってから行います。
🔢 FAQ & おすすめコンテンツ
ℹ️ 提携について
当サイトのコンテンツにはアフィリエイトリンクが含まれています。訪問者がこのリンクを通じて商品やサービスを購入すると、当サイトは販売元から手数料を受け取ります。この過程において、購入者が支払う金額(イベント割引適用で金額が下がります↓)は上昇しません。掲載されている価格・割引・在庫情報は作成時点のものであり、実際とは異なる場合がありますので、ご購入前に販売元にて最終確認をお願いいたします。商品の選定および評価は独自の基準に基づいて行われており、手数料の支払いの有無は紹介順や評価内容に影響を与えません。