WordPress «An error occurred, please try again»: почему не проходит проверка лицензии плагина и как убрать уведомление
Уведомление WordPress «An error occurred, please try again.» — это ошибка, которую премиум-плагин показывает вверху админ-панели, когда запрашивает проверку у сервера лицензий и не получает корректного ответа. На сервере с этим уведомлением плагин нашли по тексту, а затем воспроизвели уведомление с тем же плагином, меняя ответы сервера лицензий; уведомление, которое держится ещё час после восстановления сервера, удалось убрать, удалив значение ожидания повторной попытки.
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 и в коде проверки ключа AI API в TranslatePress.
Если результатов несколько, посмотрите в исходном коде страницы админ-панели имя класса блока уведомления: уведомление Essential Blocks Pro использует класс [essential-blocks-pro-notice].
2️⃣ Когда появляется уведомление: ответ 503, ответ HTML и тайм-аут
Каждый раз при открытии админ-панели Essential Blocks Pro проверяет, есть ли сохранённые данные лицензии, и, если их нет, отправляет серверу лицензий запрос на проверку. На схеме ниже — что происходило, когда админ-панель открывали, меняя только ответ сервера лицензий.
Это уведомление появляется при ответах с кодом, отличным от 200, например 503, а также при ответе 200, тело которого — HTML, а не JSON. Если ответа нет в течение 15 секунд или само соединение не устанавливается, в уведомлении показывается сообщение об ошибке cURL, которое вернул WordPress, поэтому в этом случае вы увидите уведомление с другим текстом.
Данные лицензии, сохранённые после корректного ответа, хранятся 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 & рекомендуемые материалы
Ошибка · Критическая ошибка
Критическая ошибка WordPress (critical error): причины и как её устранили
Почему критическая ошибка появлялась только на странице обновлений в админ-панели и как её устранили.
Ошибка · 500
Ошибка 500 в WordPress (Internal Server Error): причины и решения
Причины ошибки HTTP 500 Internal Server Error, которая часто возникает в WordPress, и способы её устранить.
Плагины · Основы
Плагин WordPress: определение и роль
Роль плагинов для безопасности, оптимизации производительности, SEO и резервного копирования и критерии выбора обязательных плагинов.
ℹ️ О партнёрских ссылках
Материалы этого сайта содержат партнёрские ссылки. Если посетитель покупает товар или услугу по такой ссылке, сайт получает комиссию от продавца. При этом сумма, которую платит покупатель (при акционных скидках сумма снижается ↓), не увеличивается. Указанные цены, скидки и наличие актуальны на момент написания и могут отличаться, поэтому перед покупкой уточняйте их у продавца. Товары выбираются и оцениваются по нашим собственным критериям, а комиссия не влияет ни на порядок, ни на содержание обзоров.